summaryrefslogtreecommitdiffstats
path: root/searchsummary
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2022-09-16 15:46:20 +0200
committerGitHub <noreply@github.com>2022-09-16 15:46:20 +0200
commit0bf612ad7f44520fb19e27f55f31419cbf102851 (patch)
tree436ef62cafa28ccf32991a86c730b8f0c8fecbcf /searchsummary
parentee5dab802b0cf3557d04dca53662d13aed19df5a (diff)
parenta0efc1e5efe5514871aaa75bdc8a1fc20aea16ed (diff)
Merge pull request #24099 from vespa-engine/geirst/refactor-modernize-cpp
Refactor and modernize C++ code in searchsummary
Diffstat (limited to 'searchsummary')
-rw-r--r--searchsummary/src/tests/docsummary/CMakeLists.txt1
-rw-r--r--searchsummary/src/tests/docsummary/positionsdfw_test.cpp46
-rw-r--r--searchsummary/src/tests/docsummary/slime_summary/CMakeLists.txt1
-rw-r--r--searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp90
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/annotation_converter.cpp8
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp6
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h5
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp6
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp7
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp3
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp3
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp18
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/resultclass.cpp5
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp4
19 files changed, 97 insertions, 116 deletions
diff --git a/searchsummary/src/tests/docsummary/CMakeLists.txt b/searchsummary/src/tests/docsummary/CMakeLists.txt
index 26a2963809a..4cd12eb4db6 100644
--- a/searchsummary/src/tests/docsummary/CMakeLists.txt
+++ b/searchsummary/src/tests/docsummary/CMakeLists.txt
@@ -4,5 +4,6 @@ vespa_add_executable(searchsummary_positionsdfw_test_app TEST
positionsdfw_test.cpp
DEPENDS
searchsummary
+ GTest::GTest
)
vespa_add_test(NAME searchsummary_positionsdfw_test_app COMMAND searchsummary_positionsdfw_test_app)
diff --git a/searchsummary/src/tests/docsummary/positionsdfw_test.cpp b/searchsummary/src/tests/docsummary/positionsdfw_test.cpp
index b4e82ed2aa8..f23bd2f0437 100644
--- a/searchsummary/src/tests/docsummary/positionsdfw_test.cpp
+++ b/searchsummary/src/tests/docsummary/positionsdfw_test.cpp
@@ -1,17 +1,16 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-// Unit tests for positionsdfw.
+#include <vespa/juniper/rpinterface.h>
#include <vespa/searchlib/attribute/extendableattributes.h>
#include <vespa/searchlib/attribute/iattributemanager.h>
#include <vespa/searchlib/common/matching_elements.h>
#include <vespa/searchsummary/docsummary/docsum_field_writer.h>
-#include <vespa/searchsummary/docsummary/positionsdfw.h>
-#include <vespa/searchsummary/docsummary/idocsumenvironment.h>
#include <vespa/searchsummary/docsummary/docsumstate.h>
+#include <vespa/searchsummary/docsummary/idocsumenvironment.h>
+#include <vespa/searchsummary/docsummary/positionsdfw.h>
#include <vespa/searchsummary/test/slime_value.h>
-#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/vespalib/data/slime/slime.h>
-#include <vespa/juniper/rpinterface.h>
+#include <vespa/vespalib/gtest/gtest.h>
#include <vespa/log/log.h>
LOG_SETUP("positionsdfw_test");
@@ -29,33 +28,6 @@ namespace search::docsummary {
namespace {
-class Test : public vespalib::TestApp {
- void requireThat2DPositionFieldIsWritten();
-
-public:
- int Main() override;
-};
-
-int
-Test::Main()
-{
- TEST_INIT("positionsdfw_test");
-
- TEST_DO(requireThat2DPositionFieldIsWritten());
-
- TEST_DONE();
-}
-
-struct MyEnvironment : IDocsumEnvironment {
- IAttributeManager *attribute_man;
-
- MyEnvironment() : attribute_man(0) {}
-
- const IAttributeManager *getAttributeManager() const override { return attribute_man; }
- string lookupIndex(const string &s) const override { return s; }
- const juniper::Juniper *getJuniper() const override { return nullptr; }
-};
-
class MyAttributeContext : public IAttributeContext {
const IAttributeVector &_attr;
public:
@@ -141,10 +113,13 @@ void checkWritePositionField(AttrType &attr,
writer->insertField(doc_id, state, inserter);
test::SlimeValue expected(expect_json);
- EXPECT_EQUAL(expected.slime, target);
+ EXPECT_EQ(expected.slime, target);
}
-void Test::requireThat2DPositionFieldIsWritten() {
+} // namespace
+
+TEST(PositionsDFWTest, require_that_2D_position_field_is_written)
+{
SingleInt64ExtAttribute attr("foo");
checkWritePositionField(attr, 0x3e, "{x:6,y:7,latlong:'N0.000007;E0.000006'}");
checkWritePositionField(attr, 007, "{x:-1,y:-1,latlong:'S0.000001;W0.000001'}");
@@ -153,7 +128,6 @@ void Test::requireThat2DPositionFieldIsWritten() {
checkWritePositionField(attr, 42, "null");
}
-} // namespace
}
-TEST_APPHOOK(search::docsummary::Test);
+GTEST_MAIN_RUN_ALL_TESTS()
diff --git a/searchsummary/src/tests/docsummary/slime_summary/CMakeLists.txt b/searchsummary/src/tests/docsummary/slime_summary/CMakeLists.txt
index 344a33952d6..26456dae395 100644
--- a/searchsummary/src/tests/docsummary/slime_summary/CMakeLists.txt
+++ b/searchsummary/src/tests/docsummary/slime_summary/CMakeLists.txt
@@ -4,5 +4,6 @@ vespa_add_executable(searchsummary_slime_summary_test_app TEST
slime_summary_test.cpp
DEPENDS
searchsummary
+ GTest::GTest
)
vespa_add_test(NAME searchsummary_slime_summary_test_app COMMAND searchsummary_slime_summary_test_app)
diff --git a/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp b/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp
index 5f2f1578f66..fa53cf202ff 100644
--- a/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp
+++ b/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp
@@ -1,8 +1,9 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#include <vespa/document/base/documentid.h>
#include <vespa/document/datatype/documenttype.h>
-#include <vespa/document/fieldvalue/document.h>
#include <vespa/document/fieldvalue/bytefieldvalue.h>
+#include <vespa/document/fieldvalue/document.h>
#include <vespa/document/fieldvalue/doublefieldvalue.h>
#include <vespa/document/fieldvalue/floatfieldvalue.h>
#include <vespa/document/fieldvalue/intfieldvalue.h>
@@ -10,14 +11,14 @@
#include <vespa/document/fieldvalue/rawfieldvalue.h>
#include <vespa/document/fieldvalue/shortfieldvalue.h>
#include <vespa/document/fieldvalue/stringfieldvalue.h>
-#include <vespa/vespalib/testkit/test_kit.h>
#include <vespa/searchlib/common/matching_elements.h>
-#include <vespa/searchsummary/docsummary/docsumwriter.h>
+#include <vespa/searchsummary/docsummary/docsum_store_document.h>
#include <vespa/searchsummary/docsummary/docsumstate.h>
+#include <vespa/searchsummary/docsummary/docsumwriter.h>
#include <vespa/searchsummary/docsummary/keywordextractor.h>
-#include <vespa/searchsummary/docsummary/docsum_store_document.h>
#include <vespa/vespalib/data/slime/slime.h>
#include <vespa/vespalib/data/smart_buffer.h>
+#include <vespa/vespalib/gtest/gtest.h>
#include <vespa/vespalib/util/size_literals.h>
using namespace vespalib::slime::convenience;
@@ -42,15 +43,15 @@ using document::StructFieldValue;
namespace {
-struct DocsumFixture : IDocsumStore, GetDocsumsStateCallback {
+struct SlimeSummaryTest : testing::Test, IDocsumStore, GetDocsumsStateCallback {
std::unique_ptr<DynamicDocsumWriter> writer;
StructDataType int_pair_type;
DocumentType doc_type;
GetDocsumsState state;
bool fail_get_mapped_docsum;
bool empty_get_mapped_docsum;
- DocsumFixture();
- ~DocsumFixture() override;
+ SlimeSummaryTest();
+ ~SlimeSummaryTest() override;
void getDocsum(Slime &slime) {
Slime slimeOut;
SlimeInserter inserter(slimeOut);
@@ -58,11 +59,11 @@ struct DocsumFixture : IDocsumStore, GetDocsumsStateCallback {
writer->insertDocsum(rci, 1u, state, this, inserter);
vespalib::SmartBuffer buf(4_Ki);
BinaryFormat::encode(slimeOut, buf);
- EXPECT_GREATER(BinaryFormat::decode(buf.obtain(), slime), 0u);
+ EXPECT_GT(BinaryFormat::decode(buf.obtain(), slime), 0u);
}
uint32_t getNumDocs() const override { return 2; }
std::unique_ptr<const IDocsumStoreDocument> getMappedDocsum(uint32_t docid) override {
- EXPECT_EQUAL(1u, docid);
+ EXPECT_EQ(1u, docid);
if (fail_get_mapped_docsum) {
return {};
}
@@ -94,7 +95,7 @@ struct DocsumFixture : IDocsumStore, GetDocsumsStateCallback {
};
-DocsumFixture::DocsumFixture()
+SlimeSummaryTest::SlimeSummaryTest()
: writer(),
int_pair_type("int_pair"),
doc_type("test"),
@@ -132,49 +133,54 @@ DocsumFixture::DocsumFixture()
doc_type.addField(Field("longdata_field", *DataType::RAW));
doc_type.addField(Field("int_pair_field", int_pair_type));
}
-DocsumFixture::~DocsumFixture() = default;
+SlimeSummaryTest::~SlimeSummaryTest() = default;
} // namespace <unnamed>
-TEST_FF("require that docsum can be written as slime", DocsumFixture(), Slime()) {
- f1.getDocsum(f2);
- EXPECT_EQUAL(f2.get()["int_field"].asLong(), 4u);
- EXPECT_EQUAL(f2.get()["short_field"].asLong(), 2u);
- EXPECT_EQUAL(f2.get()["byte_field"].asLong(), 1u);
- EXPECT_EQUAL(f2.get()["float_field"].asDouble(), 4.5);
- EXPECT_EQUAL(f2.get()["double_field"].asDouble(), 8.75);
- EXPECT_EQUAL(f2.get()["int64_field"].asLong(), 8u);
- EXPECT_EQUAL(f2.get()["string_field"].asString().make_string(), std::string("string"));
- EXPECT_EQUAL(f2.get()["data_field"].asData().make_string(), std::string("data"));
- EXPECT_EQUAL(f2.get()["longstring_field"].asString().make_string(), std::string("long_string"));
- EXPECT_EQUAL(f2.get()["longdata_field"].asData().make_string(), std::string("long_data"));
- EXPECT_EQUAL(f2.get()["int_pair_field"]["foo"].asLong(), 1u);
- EXPECT_EQUAL(f2.get()["int_pair_field"]["bar"].asLong(), 2u);
+TEST_F(SlimeSummaryTest, docsum_can_be_written_as_slime)
+{
+ Slime s;
+ getDocsum(s);
+ EXPECT_EQ(s.get()["int_field"].asLong(), 4u);
+ EXPECT_EQ(s.get()["short_field"].asLong(), 2u);
+ EXPECT_EQ(s.get()["byte_field"].asLong(), 1u);
+ EXPECT_EQ(s.get()["float_field"].asDouble(), 4.5);
+ EXPECT_EQ(s.get()["double_field"].asDouble(), 8.75);
+ EXPECT_EQ(s.get()["int64_field"].asLong(), 8u);
+ EXPECT_EQ(s.get()["string_field"].asString().make_string(), std::string("string"));
+ EXPECT_EQ(s.get()["data_field"].asData().make_string(), std::string("data"));
+ EXPECT_EQ(s.get()["longstring_field"].asString().make_string(), std::string("long_string"));
+ EXPECT_EQ(s.get()["longdata_field"].asData().make_string(), std::string("long_data"));
+ EXPECT_EQ(s.get()["int_pair_field"]["foo"].asLong(), 1u);
+ EXPECT_EQ(s.get()["int_pair_field"]["bar"].asLong(), 2u);
}
-TEST_FF("require that unknown summary class gives empty slime", DocsumFixture(), Slime())
+TEST_F(SlimeSummaryTest, unknown_summary_class_gives_empty_slime)
{
- f1.state._args.setResultClassName("unknown");
- f1.getDocsum(f2);
- EXPECT_TRUE(f2.get().valid());
- EXPECT_EQUAL(vespalib::slime::NIX::ID, f2.get().type().getId());
+ state._args.setResultClassName("unknown");
+ Slime s;
+ getDocsum(s);
+ EXPECT_TRUE(s.get().valid());
+ EXPECT_EQ(vespalib::slime::NIX::ID, s.get().type().getId());
}
-TEST_FF("require that failure to retrieve docsum store document gives empty slime", DocsumFixture(), Slime())
+TEST_F(SlimeSummaryTest, failure_to_retrieve_docsum_store_document_gives_empty_slime)
{
- f1.fail_get_mapped_docsum = true;
- f1.getDocsum(f2);
- EXPECT_TRUE(f2.get().valid());
- EXPECT_EQUAL(vespalib::slime::NIX::ID, f2.get().type().getId());
+ fail_get_mapped_docsum = true;
+ Slime s;
+ getDocsum(s);
+ EXPECT_TRUE(s.get().valid());
+ EXPECT_EQ(vespalib::slime::NIX::ID, s.get().type().getId());
}
-TEST_FF("require that empty docsum store document gives empty object", DocsumFixture(), Slime())
+TEST_F(SlimeSummaryTest, empty_docsum_store_document_gives_empty_object)
{
- f1.empty_get_mapped_docsum = true;
- f1.getDocsum(f2);
- EXPECT_TRUE(f2.get().valid());
- EXPECT_EQUAL(vespalib::slime::OBJECT::ID, f2.get().type().getId());
- EXPECT_EQUAL(0u, f2.get().fields());
+ empty_get_mapped_docsum = true;
+ Slime s;
+ getDocsum(s);
+ EXPECT_TRUE(s.get().valid());
+ EXPECT_EQ(vespalib::slime::OBJECT::ID, s.get().type().getId());
+ EXPECT_EQ(0u, s.get().fields());
}
-TEST_MAIN() { TEST_RUN_ALL(); }
+GTEST_MAIN_RUN_ALL_TESTS()
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/annotation_converter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/annotation_converter.cpp
index ec7740b371d..b36a2f8383e 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/annotation_converter.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/annotation_converter.cpp
@@ -13,8 +13,8 @@
#include <vespa/vespalib/util/exceptions.h>
#include <utility>
-using document::Annotation;
using document::AlternateSpanList;
+using document::Annotation;
using document::FieldValue;
using document::SimpleSpanList;
using document::Span;
@@ -125,8 +125,8 @@ AnnotationConverter::handleIndexingTerms(const StringFieldValue& value)
{
StringFieldValue::SpanTrees trees = value.getSpanTrees();
const SpanTree *tree = StringFieldValue::findTree(trees, linguistics::SPANTREE_NAME);
- typedef std::pair<Span, const FieldValue *> SpanTerm;
- typedef std::vector<SpanTerm> SpanTermVector;
+ using SpanTerm = std::pair<Span, const FieldValue *>;
+ using SpanTermVector = std::vector<SpanTerm>;
if (!tree) {
// Treat a string without annotations as a single span.
SpanTerm str(Span(0, _text.size()),
@@ -137,7 +137,7 @@ AnnotationConverter::handleIndexingTerms(const StringFieldValue& value)
SpanTermVector terms;
for (const Annotation& annotation : *tree) {
// For now, skip any composite spans.
- const Span *span = dynamic_cast<const Span*>(annotation.getSpanNode());
+ const auto *span = dynamic_cast<const Span*>(annotation.getSpanNode());
if ((span != nullptr) && annotation.valid() &&
(annotation.getType() == *linguistics::TERM)) {
terms.push_back(std::make_pair(getSpan(*span),
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp
index 1ec95a58c00..889169f8888 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp
@@ -41,7 +41,7 @@ AttributeCombinerDFW::create(const vespalib::string &fieldName, IAttributeContex
{
StructFieldsResolver structFields(fieldName, attrCtx, true);
if (structFields.has_error()) {
- return std::unique_ptr<DocsumFieldWriter>();
+ return {};
} else if (structFields.is_map_of_struct()) {
return std::make_unique<StructMapAttributeCombinerDFW>(fieldName, structFields, filter_elements, std::move(matching_elems_fields));
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp
index 1dff340666e..74d67aabe88 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp
@@ -25,12 +25,12 @@ using search::attribute::IAttributeContext;
using search::attribute::IAttributeVector;
using search::attribute::IMultiValueAttribute;
using search::attribute::IMultiValueReadView;
+using vespalib::Issue;
using vespalib::Memory;
+using vespalib::eval::Value;
using vespalib::slime::Cursor;
using vespalib::slime::Inserter;
using vespalib::slime::Symbol;
-using vespalib::eval::Value;
-using vespalib::Issue;
namespace search::docsummary {
@@ -347,7 +347,7 @@ AttributeDFWFactory::create(const IAttributeManager& attr_mgr,
const auto* attr = ctx->getAttribute(attr_name);
if (attr == nullptr) {
Issue::report("No valid attribute vector found: '%s'", attr_name.c_str());
- return std::unique_ptr<DocsumFieldWriter>();
+ return {};
}
if (attr->hasMultiValue()) {
return create_multi_writer(*attr, filter_elements, std::move(matching_elems_fields));
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h
index b112b7ab0bf..7f3a88b05eb 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h
@@ -15,10 +15,7 @@ class IDocsumStoreDocument;
class IDocsumStore
{
public:
- /**
- * Convenience typedef.
- */
- typedef std::unique_ptr<IDocsumStore> UP;
+ using UP = std::unique_ptr<IDocsumStore>;
/**
* Destructor. No cleanup needed for base class.
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp
index bf35d6131e5..b4b663718bd 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp
@@ -14,8 +14,8 @@
LOG_SETUP(".searchlib.docsummary.docsumwriter");
using vespalib::Issue;
-using vespalib::slime::ObjectInserter;
using vespalib::Memory;
+using vespalib::slime::ObjectInserter;
namespace search::docsummary {
@@ -77,7 +77,9 @@ DynamicDocsumWriter::insertDocsum(const ResolveClassInfo & rci, uint32_t docid,
vespalib::slime::Cursor & docsum = topInserter.insertObject();
for (uint32_t i = 0; i < rci.outputClass->GetNumEntries(); ++i) {
const ResConfigEntry *outCfg = rci.outputClass->GetEntry(i);
- if ( ! state._args.needField(outCfg->_name)) continue;
+ if (!state._args.needField(outCfg->_name)) {
+ continue;
+ }
const DocsumFieldWriter *writer = outCfg->_docsum_field_writer.get();
const Memory field_name(outCfg->_name.data(), outCfg->_name.size());
ObjectInserter inserter(docsum, field_name);
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp
index 4cd79bd8351..6d668561651 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp
@@ -104,21 +104,20 @@ GeoPositionDFW::create(const char *attribute_name,
const IAttributeManager *attribute_manager,
bool useV8geoPositions)
{
- GeoPositionDFW::UP ret;
if (attribute_manager != nullptr) {
if (!attribute_name) {
LOG(warning, "create: missing attribute name '%p'", attribute_name);
- return ret;
+ return {};
}
IAttributeContext::UP context = attribute_manager->createContext();
if (!context.get()) {
LOG(warning, "create: could not create context from attribute manager");
- return ret;
+ return {};
}
const IAttributeVector *attribute = context->getAttribute(attribute_name);
if (!attribute) {
Issue::report("GeoPositionDFW::create: could not get attribute '%s' from context", attribute_name);
- return ret;
+ return {};
}
}
return std::make_unique<GeoPositionDFW>(attribute_name, useV8geoPositions);
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h
index 31dfc9ceef4..6e470d479ff 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h
@@ -14,7 +14,7 @@ class GeoPositionDFW : public AttrDFW
private:
bool _useV8geoPositions;
public:
- typedef std::unique_ptr<GeoPositionDFW> UP;
+ using UP = std::unique_ptr<GeoPositionDFW>;
GeoPositionDFW(const vespalib::string & attrName, bool useV8geoPositions);
void insertField(uint32_t docid, GetDocsumsState& state, vespalib::slime::Inserter &target) const override;
static UP create(const char *attribute_name, const IAttributeManager *attribute_manager, bool useV8geoPositions);
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp
index 814fe0aafe4..a13f65db5ce 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp
@@ -27,8 +27,9 @@ JuniperQueryAdapter::SkipItem(search::SimpleQueryStackDumpIterator *iterator) co
uint32_t skipCount = iterator->getArity();
while (skipCount > 0) {
- if (!iterator->next())
+ if (!iterator->next()) {
return false; // stack too small
+ }
skipCount = skipCount - 1 + iterator->getArity();
}
return true;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp b/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp
index 0256965e7f4..e8ff3068a4c 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp
@@ -100,8 +100,9 @@ KeywordExtractor::GetLegalIndexSpec()
}
for (const auto & index : _legalIndexes) {
- if (!spec.empty())
+ if (!spec.empty()) {
spec.append(';');
+ }
spec.append(index);
}
return spec;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.h b/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.h
index 5f87de762f9..9d46f0c8d89 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.h
@@ -23,7 +23,7 @@ public:
};
private:
- typedef vespalib::hash_set<vespalib::string> Set;
+ using Set = vespalib::hash_set<vespalib::string>;
const IDocsumEnvironment *_env;
std::vector<IndexPrefix> _legalPrefixes;
Set _legalIndexes;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp
index 4d381f940ae..1a029cfd16f 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp
@@ -54,7 +54,7 @@ MatchedElementsFilterDFW::create(const std::string& input_field_name,
{
StructFieldsResolver resolver(input_field_name, attr_ctx, false);
if (resolver.has_error()) {
- return std::unique_ptr<DocsumFieldWriter>();
+ return {};
}
resolver.apply_to(*matching_elems_fields);
return std::make_unique<MatchedElementsFilterDFW>(input_field_name, std::move(matching_elems_fields));
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp
index 02696c7b27a..5aba321b540 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp
@@ -26,12 +26,12 @@ double to_degrees(int32_t microDegrees) {
}
+using search::attribute::BasicType;
using search::attribute::IAttributeContext;
using search::attribute::IAttributeVector;
-using search::attribute::BasicType;
using search::attribute::IntegerContent;
-using search::common::Location;
using search::common::GeoGcd;
+using search::common::Location;
LocationAttrDFW::AllLocations
LocationAttrDFW::getAllLocations(GetDocsumsState& state) const
@@ -232,21 +232,20 @@ PositionsDFW::insertField(uint32_t docid, GetDocsumsState& dsState, vespalib::sl
//--------------------------------------------------------------------------
PositionsDFW::UP PositionsDFW::create(const char *attribute_name, const IAttributeManager *attribute_manager, bool useV8geoPositions) {
- PositionsDFW::UP ret;
if (attribute_manager != nullptr) {
if (!attribute_name) {
LOG(debug, "createPositionsDFW: missing attribute name '%p'", attribute_name);
- return ret;
+ return {};
}
IAttributeContext::UP context = attribute_manager->createContext();
if (!context.get()) {
LOG(debug, "createPositionsDFW: could not create context from attribute manager");
- return ret;
+ return {};
}
const IAttributeVector *attribute = context->getAttribute(attribute_name);
if (!attribute) {
LOG(debug, "createPositionsDFW: could not get attribute '%s' from context", attribute_name);
- return ret;
+ return {};
}
}
return std::make_unique<PositionsDFW>(attribute_name, useV8geoPositions);
@@ -254,21 +253,20 @@ PositionsDFW::UP PositionsDFW::create(const char *attribute_name, const IAttribu
std::unique_ptr<DocsumFieldWriter>
AbsDistanceDFW::create(const char *attribute_name, const IAttributeManager *attribute_manager) {
- std::unique_ptr<DocsumFieldWriter> ret;
if (attribute_manager != nullptr) {
if (!attribute_name) {
LOG(debug, "createAbsDistanceDFW: missing attribute name '%p'", attribute_name);
- return ret;
+ return {};
}
IAttributeContext::UP context = attribute_manager->createContext();
if (!context.get()) {
LOG(debug, "createAbsDistanceDFW: could not create context from attribute manager");
- return ret;
+ return {};
}
const IAttributeVector *attribute = context->getAttribute(attribute_name);
if (!attribute) {
LOG(debug, "createAbsDistanceDFW: could not get attribute '%s' from context", attribute_name);
- return ret;
+ return {};
}
}
return std::make_unique<AbsDistanceDFW>(attribute_name);
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h
index d388b4d545f..5ac5f0fe051 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h
@@ -57,7 +57,7 @@ class PositionsDFW : public AttrDFW
private:
bool _useV8geoPositions;
public:
- typedef std::unique_ptr<PositionsDFW> UP;
+ using UP = std::unique_ptr<PositionsDFW>;
PositionsDFW(const vespalib::string & attrName, bool useV8geoPositions);
bool IsGenerated() const override { return true; }
void insertField(uint32_t docid, GetDocsumsState& state, vespalib::slime::Inserter &target) const override;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/resultclass.cpp b/searchsummary/src/vespa/searchsummary/docsummary/resultclass.cpp
index 781cd62a818..d19a111080f 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/resultclass.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/resultclass.cpp
@@ -23,15 +23,16 @@ ResultClass::~ResultClass() = default;
int
ResultClass::GetIndexFromName(const char* name) const
{
- NameIdMap::const_iterator found(_nameMap.find(name));
+ auto found = _nameMap.find(name);
return (found != _nameMap.end()) ? found->second : -1;
}
bool
ResultClass::AddConfigEntry(const char *name, ResType type, std::unique_ptr<DocsumFieldWriter> docsum_field_writer)
{
- if (_nameMap.find(name) != _nameMap.end())
+ if (_nameMap.find(name) != _nameMap.end()) {
return false;
+ }
_nameMap[name] = _entries.size();
ResConfigEntry e;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp b/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp
index 77714ddd98f..65b11a2b66f 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp
@@ -70,14 +70,14 @@ ResultConfig::set_default_result_class_id(uint32_t id)
const ResultClass*
ResultConfig::LookupResultClass(uint32_t id) const
{
- IdMap::const_iterator it(_classLookup.find(id));
+ auto it = _classLookup.find(id);
return (it != _classLookup.end()) ? it->second.get() : nullptr;
}
uint32_t
ResultConfig::LookupResultClassId(const vespalib::string &name) const
{
- NameMap::const_iterator found(_nameLookup.find(name));
+ auto found = _nameLookup.find(name);
return (found != _nameLookup.end()) ? found->second : ((name.empty() || (name == "default")) ? _defaultSummaryId : NoClassID());
}