diff options
Diffstat (limited to 'searchlib')
6 files changed, 44 insertions, 45 deletions
diff --git a/searchlib/src/tests/query/querybuilder_test.cpp b/searchlib/src/tests/query/querybuilder_test.cpp index 0f05419c4e5..6673a107d44 100644 --- a/searchlib/src/tests/query/querybuilder_test.cpp +++ b/searchlib/src/tests/query/querybuilder_test.cpp @@ -522,13 +522,13 @@ TEST("require that Using Position Data Can Be Turned Off") { Node::UP node = builder.build(); ASSERT_TRUE(!builder.hasError()); Intermediate * andNode = dynamic_cast<Intermediate *>(node.get()); - ASSERT_TRUE(andNode != NULL); + ASSERT_TRUE(andNode != nullptr); ASSERT_TRUE(andNode->getChildren().size() == 2); Term * term = dynamic_cast<Term *>(andNode->getChildren()[0]); - ASSERT_TRUE(term != NULL); + ASSERT_TRUE(term != nullptr); EXPECT_TRUE(!term->usePositionData()); Phrase * phrase = dynamic_cast<Phrase *>(andNode->getChildren()[1]); - ASSERT_TRUE(phrase != NULL); + ASSERT_TRUE(phrase != nullptr); EXPECT_TRUE(!phrase->usePositionData()); } @@ -536,13 +536,11 @@ TEST("require that Weight Override Works Across Multiple Levels") { QueryBuilder<SimpleQueryNodeTypes> builder; builder.addPhrase(2, view[0], id[0], weight[0]); - SimpleStringTerm &string_term_1 = - builder.addStringTerm(str[1], view[1], id[1], weight[1]); + SimpleStringTerm &string_term_1 = builder.addStringTerm(str[1], view[1], id[1], weight[1]); EXPECT_EQUAL(weight[0].percent(), string_term_1.getWeight().percent()); builder.addAnd(2); - SimpleStringTerm &string_term_2 = - builder.addStringTerm(str[2], view[2], id[2], weight[2]); + SimpleStringTerm &string_term_2 = builder.addStringTerm(str[2], view[2], id[2], weight[2]); EXPECT_EQUAL(weight[0].percent(), string_term_2.getWeight().percent()); } @@ -579,14 +577,12 @@ TEST("require that All Range Syntaxes Work") { string stackDump = StackDumpCreator::create(*node); SimpleQueryStackDumpIterator iterator(stackDump); - Node::UP new_node = - QueryTreeCreator<SimpleQueryNodeTypes>::create(iterator); + Node::UP new_node = QueryTreeCreator<SimpleQueryNodeTypes>::create(iterator); And *and_node = dynamic_cast<And *>(new_node.get()); ASSERT_TRUE(and_node); EXPECT_EQUAL(3u, and_node->getChildren().size()); - RangeTerm *range_term = - dynamic_cast<RangeTerm *>(and_node->getChildren()[0]); + auto range_term = dynamic_cast<RangeTerm *>(and_node->getChildren()[0]); ASSERT_TRUE(range_term); EXPECT_TRUE(range0 == range_term->getTerm()); @@ -608,8 +604,7 @@ TEST("require that empty intermediate node can be added") { string stackDump = StackDumpCreator::create(*node); SimpleQueryStackDumpIterator iterator(stackDump); - Node::UP new_node = - QueryTreeCreator<SimpleQueryNodeTypes>::create(iterator); + Node::UP new_node = QueryTreeCreator<SimpleQueryNodeTypes>::create(iterator); And *and_node = dynamic_cast<And *>(new_node.get()); ASSERT_TRUE(and_node); EXPECT_EQUAL(0u, and_node->getChildren().size()); diff --git a/searchlib/src/vespa/searchlib/fef/test/indexenvironment.cpp b/searchlib/src/vespa/searchlib/fef/test/indexenvironment.cpp index b9e3377d8f9..755245438f2 100644 --- a/searchlib/src/vespa/searchlib/fef/test/indexenvironment.cpp +++ b/searchlib/src/vespa/searchlib/fef/test/indexenvironment.cpp @@ -4,9 +4,7 @@ #include <vespa/searchlib/attribute/attributefactory.h> #include <vespa/vespalib/util/stringfmt.h> -namespace search { -namespace fef { -namespace test { +namespace search::fef::test { using vespalib::eval::ValueType; using vespalib::eval::ErrorValue; @@ -18,21 +16,14 @@ IndexEnvironment::Constant notFoundError(ValueType::error_type(), } -IndexEnvironment::IndexEnvironment() : - _properties(), - _fields(), - _attrMap(), - _tableMan(), - _constants() -{ -} +IndexEnvironment::IndexEnvironment() = default; -IndexEnvironment::~IndexEnvironment() {} +IndexEnvironment::~IndexEnvironment() = default; const FieldInfo * IndexEnvironment::getField(uint32_t id) const { - return id < _fields.size() ? &_fields[id] : NULL; + return id < _fields.size() ? &_fields[id] : nullptr; } const FieldInfo * @@ -44,7 +35,7 @@ IndexEnvironment::getFieldByName(const string &name) const return &(*it); } } - return NULL; + return nullptr; } @@ -71,6 +62,4 @@ IndexEnvironment::addConstantValue(const vespalib::string &name, (void) insertRes; } -} // namespace test -} // namespace fef -} // namespace search +} diff --git a/searchlib/src/vespa/searchlib/query/tree/intermediate.cpp b/searchlib/src/vespa/searchlib/query/tree/intermediate.cpp index f56da9c2cf9..a5cfe69c2d5 100644 --- a/searchlib/src/vespa/searchlib/query/tree/intermediate.cpp +++ b/searchlib/src/vespa/searchlib/query/tree/intermediate.cpp @@ -9,10 +9,29 @@ Intermediate::~Intermediate() { } } -Intermediate &Intermediate::append(Node::UP child) +Intermediate & +Intermediate::append(Node::UP child) { _children.push_back(child.release()); return *this; } +Intermediate & +Intermediate::prepend(Node::UP child) +{ + _children.insert(_children.begin(), child.release()); + return *this; +} + +Node::UP +Intermediate::stealFirst() +{ + if ( _children.empty()) { + return Node::UP(); + } + Node::UP first(_children.front()); + _children.erase(_children.begin()); + return first; +} + } diff --git a/searchlib/src/vespa/searchlib/query/tree/intermediate.h b/searchlib/src/vespa/searchlib/query/tree/intermediate.h index 052dc1db269..2f4323f8e87 100644 --- a/searchlib/src/vespa/searchlib/query/tree/intermediate.h +++ b/searchlib/src/vespa/searchlib/query/tree/intermediate.h @@ -20,7 +20,9 @@ class Intermediate : public Node const std::vector<Node *> &getChildren() const { return _children; } Intermediate &reserve(size_t sz) { _children.reserve(sz); return *this; } + Intermediate &prepend(Node::UP child); Intermediate &append(Node::UP child); + Node::UP stealFirst(); }; } diff --git a/searchlib/src/vespa/searchlib/queryeval/fake_searchable.cpp b/searchlib/src/vespa/searchlib/queryeval/fake_searchable.cpp index 212c9439e6b..997f9afc54f 100644 --- a/searchlib/src/vespa/searchlib/queryeval/fake_searchable.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/fake_searchable.cpp @@ -17,8 +17,7 @@ using search::query::StringTerm; using search::query::SubstringTerm; using search::query::SuffixTerm; -namespace search { -namespace queryeval { +namespace search::queryeval { FakeSearchable::FakeSearchable() : _tag("<undef>"), @@ -74,7 +73,7 @@ LookupVisitor<Map>::LookupVisitor(Searchable &searchable, const IRequestContext {} template <class Map> -LookupVisitor<Map>::~LookupVisitor() { } +LookupVisitor<Map>::~LookupVisitor() = default; template <class Map> template <class TermNode> @@ -83,15 +82,13 @@ LookupVisitor<Map>::visitTerm(TermNode &n) { const vespalib::string term_string = termAsString(n); FakeResult result; - typename Map::const_iterator pos = - _map.find(typename Map::key_type(getField().getName(), term_string)); + auto pos = _map.find(typename Map::key_type(getField().getName(), term_string)); if (pos != _map.end()) { result = pos->second; } - FakeBlueprint *fake = new FakeBlueprint(getField(), result); - Blueprint::UP b(fake); + auto fake = std::make_unique<FakeBlueprint>(getField(), result); fake->tag(_tag).term(term_string); - setResult(std::move(b)); + setResult(std::move(fake)); } } // namespace search::queryeval::<unnamed> @@ -106,9 +103,6 @@ FakeSearchable::createBlueprint(const IRequestContext & requestContext, return visitor.getResult(); } -FakeSearchable::~FakeSearchable() -{ -} +FakeSearchable::~FakeSearchable() = default; -} // namespace search::queryeval -} // namespace search +} diff --git a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp index 5cb51aa4fd0..0a11203c390 100644 --- a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp @@ -208,7 +208,7 @@ AndBlueprint::inheritStrict(size_t i) const SearchIterator::UP AndBlueprint::createIntermediateSearch(const MultiSearch::Children &subSearches, - bool strict, search::fef::MatchData & md) const + bool strict, search::fef::MatchData & md) const { UnpackInfo unpackInfo(calculateUnpackInfo(md)); AndSearch * search = 0; |