summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-03-27 16:09:16 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2017-03-27 16:21:02 +0200
commited460cb2b000e343bf828fc8b30cc45059c922ef (patch)
tree7a281585667f9f4fabc1757fe88558a2e356d959 /searchlib
parent90e312a5b60158871ddde4fef860dd1c9750b198 (diff)
Not ready for LinkedPtr removal yet....
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/grouping.h4
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/groupinglevel.h14
-rw-r--r--searchlib/src/vespa/searchlib/expression/expressiontree.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/expression/expressiontree.h18
4 files changed, 18 insertions, 19 deletions
diff --git a/searchlib/src/vespa/searchlib/aggregation/grouping.h b/searchlib/src/vespa/searchlib/aggregation/grouping.h
index eceb40db6e6..148f1264dc2 100644
--- a/searchlib/src/vespa/searchlib/aggregation/grouping.h
+++ b/searchlib/src/vespa/searchlib/aggregation/grouping.h
@@ -75,8 +75,8 @@ public:
GroupingLevelList &levels() { return _levels; }
Group &root() { return _root; }
- virtual void selectMembers(const vespalib::ObjectPredicate &predicate,
- vespalib::ObjectOperation &operation);
+ void selectMembers(const vespalib::ObjectPredicate &predicate,
+ vespalib::ObjectOperation &operation) override;
void merge(Grouping & b);
void mergePartial(const Grouping & b);
diff --git a/searchlib/src/vespa/searchlib/aggregation/groupinglevel.h b/searchlib/src/vespa/searchlib/aggregation/groupinglevel.h
index ed7d2429682..3c49b98e16a 100644
--- a/searchlib/src/vespa/searchlib/aggregation/groupinglevel.h
+++ b/searchlib/src/vespa/searchlib/aggregation/groupinglevel.h
@@ -46,13 +46,13 @@ private:
protected:
template<typename Doc>
void groupDoc(Group & group, const ResultNode & result, const Doc & doc, HitRank rank) const;
- virtual void group(Group & g, const ResultNode & result, DocId doc, HitRank rank) const {
+ void group(Group & g, const ResultNode & result, DocId doc, HitRank rank) const override {
groupDoc(g, result, doc, rank);
}
- virtual void group(Group & g, const ResultNode & result, const document::Document & doc, HitRank rank) const {
+ void group(Group & g, const ResultNode & result, const document::Document & doc, HitRank rank) const override {
groupDoc(g, result, doc, rank);
}
- virtual SingleValueGrouper * clone() const { return new SingleValueGrouper(*this); }
+ SingleValueGrouper * clone() const override { return new SingleValueGrouper(*this); }
};
class MultiValueGrouper : public SingleValueGrouper {
public:
@@ -60,10 +60,10 @@ private:
private:
template<typename Doc>
void groupDoc(Group & group, const ResultNode & result, const Doc & doc, HitRank rank) const;
- virtual void group(Group & g, const ResultNode & result, DocId doc, HitRank rank) const {
+ void group(Group & g, const ResultNode & result, DocId doc, HitRank rank) const override {
groupDoc(g, result, doc, rank);
}
- virtual void group(Group & g, const ResultNode & result, const document::Document & doc, HitRank rank) const {
+ void group(Group & g, const ResultNode & result, const document::Document & doc, HitRank rank) const override {
groupDoc(g, result, doc, rank);
}
virtual MultiValueGrouper * clone() const { return new MultiValueGrouper(*this); }
@@ -121,8 +121,8 @@ public:
_grouper->group(g, result, doc, rank);
}
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
- virtual void selectMembers(const vespalib::ObjectPredicate &predicate, vespalib::ObjectOperation &operation);
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+ void selectMembers(const vespalib::ObjectPredicate &predicate, vespalib::ObjectOperation &operation) override;
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/expressiontree.cpp b/searchlib/src/vespa/searchlib/expression/expressiontree.cpp
index 4742a13fa29..4b0c31c267e 100644
--- a/searchlib/src/vespa/searchlib/expression/expressiontree.cpp
+++ b/searchlib/src/vespa/searchlib/expression/expressiontree.cpp
@@ -131,6 +131,7 @@ void ExpressionTree::swap(ExpressionTree & e)
_documentAccessorNodes.swap(e._documentAccessorNodes);
_relevanceNodes.swap(e._relevanceNodes);
_interpolatedLookupNodes.swap(e._interpolatedLookupNodes);
+ _arrayAtLookupNodes.swap(_arrayAtLookupNodes);
}
ExpressionTree::~ExpressionTree()
diff --git a/searchlib/src/vespa/searchlib/expression/expressiontree.h b/searchlib/src/vespa/searchlib/expression/expressiontree.h
index 1d2bb6c4053..235feff7edc 100644
--- a/searchlib/src/vespa/searchlib/expression/expressiontree.h
+++ b/searchlib/src/vespa/searchlib/expression/expressiontree.h
@@ -37,8 +37,8 @@ public:
class Configure : public vespalib::ObjectOperation, public vespalib::ObjectPredicate
{
private:
- virtual void execute(vespalib::Identifiable &obj);
- virtual bool check(const vespalib::Identifiable &obj) const { return obj.inherits(ExpressionTree::classId); }
+ void execute(vespalib::Identifiable &obj) override;
+ bool check(const vespalib::Identifiable &obj) const override { return obj.inherits(ExpressionTree::classId); }
};
ExpressionTree();
@@ -55,15 +55,15 @@ public:
bool execute(const document::Document & doc, HitRank rank) const;
const ExpressionNode * getRoot() const { return _root.get(); }
ExpressionNode * getRoot() { return _root.get(); }
- virtual const ResultNode & getResult() const { return _root->getResult(); }
+ const ResultNode & getResult() const override { return _root->getResult(); }
friend vespalib::Serializer & operator << (vespalib::Serializer & os, const ExpressionTree & et);
friend vespalib::Deserializer & operator >> (vespalib::Deserializer & is, ExpressionTree & et);
void swap(ExpressionTree &);
private:
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
- virtual void selectMembers(const vespalib::ObjectPredicate &predicate, vespalib::ObjectOperation &operation);
- virtual bool onExecute() const { return _root->execute(); }
- virtual void onPrepare(bool preserveAccurateTypes);
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+ void selectMembers(const vespalib::ObjectPredicate &predicate, vespalib::ObjectOperation &operation) override;
+ bool onExecute() const override { return _root->execute(); }
+ void onPrepare(bool preserveAccurateTypes) override;
typedef std::vector<AttributeNode *> AttributeNodeList;
typedef std::vector<DocumentAccessorNode *> DocumentAccessorNodeList;
@@ -71,7 +71,7 @@ private:
typedef std::vector<InterpolatedLookup *> InterpolatedLookupList;
typedef std::vector<ArrayAtLookup *> ArrayAtLookupList;
- ExpressionNode::CP _root;
+ vespalib::IdentifiableLinkedPtr<ExpressionNode> _root;
AttributeNodeList _attributeNodes;
DocumentAccessorNodeList _documentAccessorNodes;
RelevanceNodeList _relevanceNodes;
@@ -79,7 +79,5 @@ private:
ArrayAtLookupList _arrayAtLookupNodes;
};
-
} // namespace expression
} // namespace search
-