diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-03-27 16:09:16 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-03-27 16:21:02 +0200 |
commit | ed460cb2b000e343bf828fc8b30cc45059c922ef (patch) | |
tree | 7a281585667f9f4fabc1757fe88558a2e356d959 /searchlib | |
parent | 90e312a5b60158871ddde4fef860dd1c9750b198 (diff) |
Not ready for LinkedPtr removal yet....
Diffstat (limited to 'searchlib')
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 - |