summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-08-22 11:47:54 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2017-08-22 11:47:54 +0200
commitbe11fc0adb411f7ff2b13cdee911620bc5ba0d76 (patch)
treeade557eaeedc7be06f6620e2643e725ae0f1d2a8 /searchlib
parent08c2a0490261a4666b65882616756ecfbe1c8c9b (diff)
Move instead of copy.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/group.cpp10
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/group.h4
2 files changed, 7 insertions, 7 deletions
diff --git a/searchlib/src/vespa/searchlib/aggregation/group.cpp b/searchlib/src/vespa/searchlib/aggregation/group.cpp
index 6eb131fe77d..4172de3c086 100644
--- a/searchlib/src/vespa/searchlib/aggregation/group.cpp
+++ b/searchlib/src/vespa/searchlib/aggregation/group.cpp
@@ -206,10 +206,10 @@ Group & Group::operator = (const Group & rhs) = default;
Group::~Group() { }
Group &
-Group::partialCopy(const Group & rhs) {
+Group::partialMove(Group &rhs) {
setId(*rhs._id);
_rank = rhs._rank;
- _aggr.partialCopy(rhs._aggr);
+ _aggr.partialMove(rhs._aggr);
return *this;
}
@@ -373,7 +373,7 @@ void
Group::Value::mergeLevel(const Group & protoType, const Value & b) {
for (ChildP *it(b._children), *mt(b._children + b.getChildrenSize()); it != mt; ++it) {
ChildP g(new Group(protoType));
- g->partialCopy(**it);
+ g->partialMove(**it);
addChild(g);
}
}
@@ -735,10 +735,10 @@ Group::Value::swap(Value & rhs)
void
-Group::Value::partialCopy(const Value & rhs) {
+Group::Value::partialMove(Value &rhs) {
uint32_t totalAggrSize = getAggrSize() + getExprSize();
for(size_t i(0), m(totalAggrSize); i < m; i++) {
- _aggregationResults[i] = rhs._aggregationResults[i];
+ _aggregationResults[i] = std::move(rhs._aggregationResults[i]);
}
for(size_t i(0), m(getAggrSize()); i < m; i++) {
getAggr(i)->reset();
diff --git a/searchlib/src/vespa/searchlib/aggregation/group.h b/searchlib/src/vespa/searchlib/aggregation/group.h
index b34bd0fc88a..80db20015d3 100644
--- a/searchlib/src/vespa/searchlib/aggregation/group.h
+++ b/searchlib/src/vespa/searchlib/aggregation/group.h
@@ -102,7 +102,7 @@ private:
void merge(const GroupingLevelList & levels, uint32_t firstLevel, uint32_t currentLevel, const Value & rhs);
void prune(const Value & b, uint32_t lastLevel, uint32_t currentLevel);
void postMerge(const std::vector<GroupingLevel> &levels, uint32_t firstLevel, uint32_t currentLevel);
- void partialCopy(const Value & rhs);
+ void partialMove(Value &rhs);
VESPA_DLL_LOCAL Group * groupSingle(const ResultNode & selectResult, HitRank rank, const GroupingLevel & level);
GroupList groups() const { return _children; }
@@ -167,7 +167,7 @@ private:
RawRank _rank; // The default rank taken from the highest hit relevance.
Value _aggr;
- Group & partialCopy(const Group & rhs);
+ Group & partialMove(Group &rhs);
template <typename Doc>
VESPA_DLL_LOCAL void groupNext(const GroupingLevel & level, const Doc & docId, HitRank rank);