diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-08-26 20:49:18 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-08-26 20:49:18 +0000 |
commit | 370eada6a0e464428374c3a336bd1a256f24fff4 (patch) | |
tree | 85abb01b918b6055cc0e73c603cf54bf2064d6ee | |
parent | 7a5e9ecb9dd7a0e3dddc3644a263a07a881736d8 (diff) |
GC some unused code and add some 'explicit' qualifiers.
29 files changed, 62 insertions, 123 deletions
diff --git a/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp b/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp index 1ecc4853ad4..160e4cec973 100644 --- a/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp +++ b/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp @@ -25,7 +25,6 @@ #include <vespa/searchsummary/test/slime_value.h> #include <vespa/vespalib/data/slime/slime.h> #include <vespa/vespalib/gtest/gtest.h> -#include <iostream> #include <vespa/log/log.h> LOG_SETUP("matched_elements_filter_test"); @@ -198,11 +197,9 @@ public: _fields(std::make_shared<MatchingElementsFields>()) { } - ~MatchedElementsFilterTest(); + ~MatchedElementsFilterTest() override; std::unique_ptr<DocsumFieldWriter> make_field_writer(const std::string& input_field_name) { - int input_field_enum = _doc_store.get_config().GetFieldNameEnum().Lookup(input_field_name.c_str()); - return MatchedElementsFilterDFW::create(input_field_name, input_field_enum, - _attr_ctx, _fields); + return MatchedElementsFilterDFW::create(input_field_name,_attr_ctx, _fields); } void expect_filtered(const std::string& input_field_name, const ElementVector& matching_elements, const std::string& exp_slime_as_json) { Slime act = run_filter_field_writer(input_field_name, matching_elements); diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp index 2bd7f31d110..6e00511398c 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp @@ -29,12 +29,6 @@ AttributeCombinerDFW::AttributeCombinerDFW(const vespalib::string &fieldName, bo AttributeCombinerDFW::~AttributeCombinerDFW() = default; bool -AttributeCombinerDFW::IsGenerated() const -{ - return true; -} - -bool AttributeCombinerDFW::setFieldWriterStateIndex(uint32_t fieldWriterStateIndex) { _stateIndex = fieldWriterStateIndex; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.h b/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.h index c7a390fa988..33b61718392 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.h @@ -35,7 +35,7 @@ protected: virtual DocsumFieldWriterState* allocFieldWriterState(search::attribute::IAttributeContext &context, vespalib::Stash& stash, const MatchingElements* matching_elements) const = 0; public: ~AttributeCombinerDFW() override; - bool IsGenerated() const override; + bool IsGenerated() const override { return true; } bool setFieldWriterStateIndex(uint32_t fieldWriterStateIndex) override; static std::unique_ptr<DocsumFieldWriter> create(const vespalib::string &fieldName, search::attribute::IAttributeContext &attrCtx, bool filter_elements, std::shared_ptr<MatchingElementsFields> matching_elems_fields); diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attribute_field_writer.cpp b/searchsummary/src/vespa/searchsummary/docsummary/attribute_field_writer.cpp index 5668ab82d06..15125bd2172 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/attribute_field_writer.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/attribute_field_writer.cpp @@ -51,7 +51,7 @@ class WriteStringFieldNeverSkip : public WriteField<const char*> public: WriteStringFieldNeverSkip(vespalib::Memory fieldName, const IAttributeVector& attr, vespalib::Stash& stash) : WriteField(fieldName, attr, stash) {} - ~WriteStringFieldNeverSkip() override {} + ~WriteStringFieldNeverSkip() override = default; void print(uint32_t idx, Cursor &cursor) override; }; @@ -202,7 +202,6 @@ AttributeFieldWriter::create(vespalib::Memory fieldName, const IAttributeVector& } default: assert(false); - abort(); } } diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attribute_field_writer.h b/searchsummary/src/vespa/searchsummary/docsummary/attribute_field_writer.h index 5c04328d01e..81824c826e2 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/attribute_field_writer.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/attribute_field_writer.h @@ -21,7 +21,7 @@ class AttributeFieldWriter { protected: const vespalib::Memory _fieldName; - AttributeFieldWriter(vespalib::Memory fieldName); + explicit AttributeFieldWriter(vespalib::Memory fieldName); public: virtual ~AttributeFieldWriter(); virtual uint32_t fetch(uint32_t docId) = 0; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp index 70e2221c959..285148951fa 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp @@ -45,18 +45,6 @@ AttrDFW::get_attribute(const GetDocsumsState& s) const return *s.getAttribute(getIndex()); } -const vespalib::string & -AttrDFW::getAttributeName() const -{ - return _attrName; -} - -bool -AttrDFW::IsGenerated() const -{ - return true; -} - namespace { class SingleAttrDFW : public AttrDFW @@ -280,9 +268,10 @@ private: std::shared_ptr<MatchingElementsFields> _matching_elems_fields; public: - explicit MultiAttrDFW(const vespalib::string& attr_name, bool filter_elements, std::shared_ptr<MatchingElementsFields> matching_elems_fields) + MultiAttrDFW(const vespalib::string& attr_name, bool filter_elements, std::shared_ptr<MatchingElementsFields> matching_elems_fields) : AttrDFW(attr_name), _filter_elements(filter_elements), + _state_index(0), _matching_elems_fields(std::move(matching_elems_fields)) { if (filter_elements && _matching_elems_fields) { diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.h b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.h index 26351bdf501..88356ac783e 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.h @@ -30,10 +30,10 @@ private: vespalib::string _attrName; protected: const attribute::IAttributeVector& get_attribute(const GetDocsumsState& s) const; - const vespalib::string & getAttributeName() const override; + const vespalib::string & getAttributeName() const override { return _attrName; } public: - AttrDFW(const vespalib::string & attrName); - bool IsGenerated() const override; + explicit AttrDFW(const vespalib::string & attrName); + bool IsGenerated() const override { return true; } }; } diff --git a/searchsummary/src/vespa/searchsummary/docsummary/copy_dfw.h b/searchsummary/src/vespa/searchsummary/docsummary/copy_dfw.h index fb2b7315945..76c10f47bf1 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/copy_dfw.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/copy_dfw.h @@ -17,7 +17,7 @@ private: vespalib::string _input_field_name; public: - CopyDFW(const vespalib::string& inputField); + explicit CopyDFW(const vespalib::string& inputField); ~CopyDFW() override; bool IsGenerated() const override { return false; } diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsum_store_document.h b/searchsummary/src/vespa/searchsummary/docsummary/docsum_store_document.h index ebc3a57d201..76d152e1548 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/docsum_store_document.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/docsum_store_document.h @@ -15,7 +15,7 @@ class DocsumStoreDocument : public IDocsumStoreDocument { std::unique_ptr<document::Document> _document; public: - DocsumStoreDocument(std::unique_ptr<document::Document> document); + explicit DocsumStoreDocument(std::unique_ptr<document::Document> document); ~DocsumStoreDocument() override; DocsumStoreFieldValue get_field_value(const vespalib::string& field_name) const override; JuniperInput get_juniper_input(const vespalib::string& field_name) const override; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.cpp index 8bdb1528cdf..457d11e8f4b 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.cpp @@ -100,8 +100,7 @@ DynamicDocsumConfig::createFieldWriter(const string & fieldName, const string & const string& source_field = argument.empty() ? fieldName : argument; if (getEnvironment() && getEnvironment()->getAttributeManager()) { auto attr_ctx = getEnvironment()->getAttributeManager()->createContext(); - fieldWriter = MatchedElementsFilterDFW::create(source_field, resultConfig.GetFieldNameEnum().Lookup(source_field.c_str()), - *attr_ctx, matching_elems_fields); + fieldWriter = MatchedElementsFilterDFW::create(source_field,*attr_ctx, matching_elems_fields); rc = static_cast<bool>(fieldWriter); } } else if (overrideName == "documentid") { @@ -118,8 +117,7 @@ DynamicDocsumConfig::configure(const vespa::config::search::SummarymapConfig &cf { std::vector<string> strCfg; auto matching_elems_fields = std::make_shared<MatchingElementsFields>(); - for (size_t i = 0; i < cfg.override.size(); ++i) { - const vespa::config::search::SummarymapConfig::Override & o = cfg.override[i]; + for (const auto & o : cfg.override) { bool rc(false); std::unique_ptr<DocsumFieldWriter> fieldWriter = createFieldWriter(o.field, o.command, o.arguments, rc, matching_elems_fields); if (rc && fieldWriter) { diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h index 8e483b06a3c..d3d09224f64 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h @@ -86,7 +86,7 @@ public: GetDocsumsState(const GetDocsumsState &) = delete; GetDocsumsState& operator=(const GetDocsumsState &) = delete; - GetDocsumsState(GetDocsumsStateCallback &callback); + explicit GetDocsumsState(GetDocsumsStateCallback &callback); ~GetDocsumsState(); const MatchingElements &get_matching_elements(const MatchingElementsFields &matching_elems_fields); diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h index 6e6d47cc950..b112b7ab0bf 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h @@ -23,7 +23,7 @@ public: /** * Destructor. No cleanup needed for base class. */ - virtual ~IDocsumStore() { } + virtual ~IDocsumStore() = default; /** * @return total number of documents. diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp index df9925bf9b7..27e8ecea4ca 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp @@ -4,9 +4,7 @@ #include "docsumstate.h" #include "docsum_field_writer_state.h" #include "i_docsum_store_document.h" -#include "summaryfieldconverter.h" #include <vespa/document/fieldvalue/fieldvalue.h> -#include <vespa/searchcommon/common/undefinedvalues.h> #include <vespa/searchlib/util/slime_output_raw_buf_adapter.h> #include <vespa/searchlib/attribute/iattributemanager.h> #include <vespa/vespalib/data/slime/slime.h> @@ -56,9 +54,7 @@ DynamicDocsumWriter::resolveOutputClass(vespalib::stringref summaryClass) const LOG_ASSERT(rcInfo->_overrideCnt == rcInfo->_generateCnt); result.allGenerated = true; } - result.outputClassInfo = rcInfo; } - result.outputClassId = id; return result; } @@ -108,17 +104,15 @@ DynamicDocsumWriter::insertDocsum(const ResolveClassInfo & rci, uint32_t docid, DynamicDocsumWriter::DynamicDocsumWriter(std::unique_ptr<ResultConfig> config, std::unique_ptr<KeywordExtractor> extractor) : _resultConfig(std::move(config)), _keywordExtractor(std::move(extractor)), - _numClasses(_resultConfig->GetNumResultClasses()), - _numEnumValues(_resultConfig->GetFieldNameEnum().GetNumEntries()), _numFieldWriterStates(0), - _classInfoTable(_numClasses), - _overrideTable(_numEnumValues) + _classInfoTable(_resultConfig->GetNumResultClasses()), + _overrideTable(_resultConfig->GetFieldNameEnum().GetNumEntries()) { uint32_t i = 0; - for (ResultConfig::iterator it(_resultConfig->begin()), mt(_resultConfig->end()); it != mt; it++, i++) { - it->setDynamicInfo(&(_classInfoTable[i])); + for (auto & result_class : *_resultConfig) { + result_class.setDynamicInfo(&(_classInfoTable[i++])); } - LOG_ASSERT(i == _numClasses); + LOG_ASSERT(i == _resultConfig->GetNumResultClasses()); } @@ -129,10 +123,8 @@ DynamicDocsumWriter::Override(const char *fieldName, std::unique_ptr<DocsumField { uint32_t fieldEnumValue = _resultConfig->GetFieldNameEnum().Lookup(fieldName); - if (fieldEnumValue >= _numEnumValues || _overrideTable[fieldEnumValue]) - { - - if (fieldEnumValue >= _numEnumValues) { + if (fieldEnumValue >= _overrideTable.size() || _overrideTable[fieldEnumValue]) { + if (fieldEnumValue >= _overrideTable.size()) { LOG(warning, "cannot override docsum field '%s'; undefined field name", fieldName); } else if (_overrideTable[fieldEnumValue] != nullptr) { LOG(warning, "cannot override docsum field '%s'; already overridden", fieldName); @@ -148,7 +140,6 @@ DynamicDocsumWriter::Override(const char *fieldName, std::unique_ptr<DocsumField } for (auto & result_class : *_resultConfig) { - if (result_class.GetIndexFromEnumValue(fieldEnumValue) >= 0) { ResultClass::DynamicInfo *info = result_class.getDynamicInfo(); info->_overrideCnt++; @@ -166,7 +157,7 @@ DynamicDocsumWriter::InitState(IAttributeManager & attrMan, GetDocsumsState *sta { state->_kwExtractor = _keywordExtractor.get(); state->_attrCtx = attrMan.createContext(); - state->_attributes.resize(_numEnumValues); + state->_attributes.resize(_overrideTable.size()); state->_fieldWriterStates.resize(_numFieldWriterStates); for (size_t i(0); i < state->_attributes.size(); i++) { const DocsumFieldWriter *fw = _overrideTable[i].get(); diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h index 0833970047d..bea6a747f84 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h @@ -26,17 +26,14 @@ public: struct ResolveClassInfo { bool mustSkip; bool allGenerated; - uint32_t outputClassId; const ResultClass *outputClass; - const ResultClass::DynamicInfo *outputClassInfo; ResolveClassInfo() : mustSkip(false), allGenerated(false), - outputClassId(ResultConfig::NoClassID()), - outputClass(nullptr), outputClassInfo(nullptr) + outputClass(nullptr) { } }; - virtual ~IDocsumWriter() {} + virtual ~IDocsumWriter() = default; virtual void InitState(search::IAttributeManager & attrMan, GetDocsumsState *state) = 0; virtual uint32_t WriteDocsum(uint32_t docid, GetDocsumsState *state, IDocsumStore *docinfos, search::RawBuf *target) = 0; @@ -54,8 +51,6 @@ class DynamicDocsumWriter : public IDocsumWriter private: std::unique_ptr<ResultConfig> _resultConfig; std::unique_ptr<KeywordExtractor> _keywordExtractor; - uint32_t _numClasses; - uint32_t _numEnumValues; uint32_t _numFieldWriterStates; std::vector<ResultClass::DynamicInfo> _classInfoTable; std::vector<std::unique_ptr<const DocsumFieldWriter>> _overrideTable; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.cpp index a4b162ff1e8..3d28dbdc6fb 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.cpp @@ -5,18 +5,10 @@ namespace search::docsummary { -DocumentIdDFW::DocumentIdDFW() -{ -} +DocumentIdDFW::DocumentIdDFW() = default; DocumentIdDFW::~DocumentIdDFW() = default; -bool -DocumentIdDFW::IsGenerated() const -{ - return false; -} - void DocumentIdDFW::insertField(uint32_t, const IDocsumStoreDocument* doc, GetDocsumsState *, ResType, vespalib::slime::Inserter &target) const diff --git a/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.h b/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.h index e7236b454cd..27766a86e83 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.h @@ -15,7 +15,7 @@ private: public: DocumentIdDFW(); ~DocumentIdDFW() override; - bool IsGenerated() const override; + bool IsGenerated() const override { return false; } void insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const override; }; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/juniper_input.cpp b/searchsummary/src/vespa/searchsummary/docsummary/juniper_input.cpp index 330c12f21d8..3dfd5a7116a 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/juniper_input.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/juniper_input.cpp @@ -12,12 +12,6 @@ JuniperInput::JuniperInput() { } -JuniperInput::JuniperInput(vespalib::stringref value) - : _field_value_with_markup(), - _value(value) -{ -} - JuniperInput::JuniperInput(DocsumStoreFieldValue value) : _field_value_with_markup(std::move(value)), _value() diff --git a/searchsummary/src/vespa/searchsummary/docsummary/juniper_input.h b/searchsummary/src/vespa/searchsummary/docsummary/juniper_input.h index c3c1572909b..be7da50f99a 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/juniper_input.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/juniper_input.h @@ -17,7 +17,6 @@ class JuniperInput { vespalib::stringref _value; public: JuniperInput(); - explicit JuniperInput(vespalib::stringref value); explicit JuniperInput(DocsumStoreFieldValue value); ~JuniperInput(); bool empty() const noexcept { return _value.empty(); } diff --git a/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h index fb31591e6d6..6a117fbc0cd 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h @@ -20,7 +20,7 @@ public: const char *fieldName, const vespalib::string& inputField); protected: - JuniperDFW(juniper::Juniper * juniper); + explicit JuniperDFW(juniper::Juniper * juniper); ~JuniperDFW() override; vespalib::string _input_field_name; @@ -39,7 +39,7 @@ public: bool Init(const char *fieldName, const vespalib::string& inputField) override; protected: - JuniperTeaserDFW(juniper::Juniper * juniper) : JuniperDFW(juniper) { } + explicit JuniperTeaserDFW(juniper::Juniper * juniper) : JuniperDFW(juniper) { } }; @@ -49,7 +49,7 @@ class DynamicTeaserDFW : public JuniperTeaserDFW vespalib::stringref input, GetDocsumsState *state) const; public: - DynamicTeaserDFW(juniper::Juniper * juniper) : JuniperTeaserDFW(juniper) { } + explicit DynamicTeaserDFW(juniper::Juniper * juniper) : JuniperTeaserDFW(juniper) { } void insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const override; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/juniperproperties.cpp b/searchsummary/src/vespa/searchsummary/docsummary/juniperproperties.cpp index cf3def60f4e..b795679c7e6 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/juniperproperties.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/juniperproperties.cpp @@ -63,8 +63,7 @@ JuniperProperties::configure(const JuniperrcConfig &cfg) _properties["juniper.stem.min_length"] = make_string("%d", cfg.stemMinLength); _properties["juniper.stem.max_extend"] = make_string("%d", cfg.stemMaxExtend); - for (uint32_t i = 0; i < cfg.override.size(); ++i) { - const JuniperrcConfig::Override &override = cfg.override[i]; + for (const auto & override : cfg.override) { const vespalib::string keyDynsum = make_string("%s.dynsum.", override.fieldname.c_str()); const vespalib::string keyMatcher = make_string("%s.matcher.", override.fieldname.c_str()); const vespalib::string keyStem = make_string("%s.stem.", override.fieldname.c_str()); @@ -87,7 +86,7 @@ JuniperProperties::configure(const JuniperrcConfig &cfg) const char * JuniperProperties::GetProperty(const char *name, const char *def) { - std::map<vespalib::string, vespalib::string>::const_iterator it = _properties.find(name); + auto it = _properties.find(name); return it != _properties.end() ? it->second.c_str() : def; } diff --git a/searchsummary/src/vespa/searchsummary/docsummary/juniperproperties.h b/searchsummary/src/vespa/searchsummary/docsummary/juniperproperties.h index 6b1613b6c07..55f2e572b9b 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/juniperproperties.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/juniperproperties.h @@ -28,10 +28,7 @@ public: */ JuniperProperties(const vespa::config::search::summary::JuniperrcConfig &cfg); - /** - * Destructor. Frees any allocated resources. - */ - virtual ~JuniperProperties(); + ~JuniperProperties() override; /** * Implements configure callback for config subscription. diff --git a/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp b/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp index ba4833c912a..e97017e79c4 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp @@ -25,9 +25,7 @@ KeywordExtractor::KeywordExtractor(IDocsumEnvironment * env) } -KeywordExtractor::~KeywordExtractor() -{ -} +KeywordExtractor::~KeywordExtractor() = default; bool KeywordExtractor::IsLegalIndexName(const char *idxName) const @@ -101,10 +99,10 @@ KeywordExtractor::GetLegalIndexSpec() } } - for (Set::const_iterator it(_legalIndexes.begin()), mt(_legalIndexes.end()); it != mt; it++) { - if (spec.size() > 0) + for (const auto & index : _legalIndexes) { + if (!spec.empty()) spec.append(';'); - spec.append(*it); + spec.append(index); } return spec; } diff --git a/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.h b/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.h index e1cea6d1032..11e8da1ac7b 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.h @@ -11,18 +11,13 @@ class IDocsumEnvironment; class KeywordExtractor { -private: - KeywordExtractor(const KeywordExtractor &); - KeywordExtractor& operator=(const KeywordExtractor &); - public: class IndexPrefix { vespalib::string _prefix; public: - - IndexPrefix(const char *prefix); + explicit IndexPrefix(const char *prefix); ~IndexPrefix(); bool Match(const char *idxName) const; const vespalib::string& get_prefix() const noexcept { return _prefix; } @@ -47,6 +42,8 @@ private: bool IsLegalIndexName(const char *idxName) const; public: explicit KeywordExtractor(IDocsumEnvironment * env); + KeywordExtractor(const KeywordExtractor &) = delete; + KeywordExtractor& operator=(const KeywordExtractor &) = delete; ~KeywordExtractor(); 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 c91e0c2dc7e..e83860ed8bf 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp @@ -33,23 +33,22 @@ MatchedElementsFilterDFW::get_matching_elements(uint32_t docid, GetDocsumsState& return state.get_matching_elements(*_matching_elems_fields).get_matching_elements(docid, _input_field_name); } -MatchedElementsFilterDFW::MatchedElementsFilterDFW(const std::string& input_field_name, uint32_t input_field_enum, +MatchedElementsFilterDFW::MatchedElementsFilterDFW(const std::string& input_field_name, std::shared_ptr<MatchingElementsFields> matching_elems_fields) : _input_field_name(input_field_name), - _input_field_enum(input_field_enum), _matching_elems_fields(std::move(matching_elems_fields)) { } std::unique_ptr<DocsumFieldWriter> -MatchedElementsFilterDFW::create(const std::string& input_field_name, uint32_t input_field_enum, +MatchedElementsFilterDFW::create(const std::string& input_field_name, std::shared_ptr<MatchingElementsFields> matching_elems_fields) { - return std::make_unique<MatchedElementsFilterDFW>(input_field_name, input_field_enum, std::move(matching_elems_fields)); + return std::make_unique<MatchedElementsFilterDFW>(input_field_name, std::move(matching_elems_fields)); } std::unique_ptr<DocsumFieldWriter> -MatchedElementsFilterDFW::create(const std::string& input_field_name, uint32_t input_field_enum, +MatchedElementsFilterDFW::create(const std::string& input_field_name, search::attribute::IAttributeContext& attr_ctx, std::shared_ptr<MatchingElementsFields> matching_elems_fields) { @@ -58,7 +57,7 @@ MatchedElementsFilterDFW::create(const std::string& input_field_name, uint32_t i return std::unique_ptr<DocsumFieldWriter>(); } resolver.apply_to(*matching_elems_fields); - return std::make_unique<MatchedElementsFilterDFW>(input_field_name, input_field_enum, std::move(matching_elems_fields)); + return std::make_unique<MatchedElementsFilterDFW>(input_field_name, std::move(matching_elems_fields)); } MatchedElementsFilterDFW::~MatchedElementsFilterDFW() = default; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.h b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.h index 7129f8af1de..09f989d5121 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.h @@ -20,20 +20,19 @@ namespace search::docsummary { class MatchedElementsFilterDFW : public DocsumFieldWriter { private: std::string _input_field_name; - uint32_t _input_field_enum; std::shared_ptr<MatchingElementsFields> _matching_elems_fields; const std::vector<uint32_t>& get_matching_elements(uint32_t docid, GetDocsumsState& state) const; public: - MatchedElementsFilterDFW(const std::string& input_field_name, uint32_t input_field_enum, + MatchedElementsFilterDFW(const std::string& input_field_name, std::shared_ptr<MatchingElementsFields> matching_elems_fields); - static std::unique_ptr<DocsumFieldWriter> create(const std::string& input_field_name, uint32_t input_field_enum, + static std::unique_ptr<DocsumFieldWriter> create(const std::string& input_field_name, std::shared_ptr<MatchingElementsFields> matching_elems_fields); - static std::unique_ptr<DocsumFieldWriter> create(const std::string& input_field_name, uint32_t input_field_enum, + static std::unique_ptr<DocsumFieldWriter> create(const std::string& input_field_name, search::attribute::IAttributeContext& attr_ctx, std::shared_ptr<MatchingElementsFields> matching_elems_fields); - ~MatchedElementsFilterDFW(); + ~MatchedElementsFilterDFW() override; bool IsGenerated() const override { return false; } void insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState *state, ResType type, vespalib::slime::Inserter& target) const override; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp index 327c407af69..aa7db0e2745 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp @@ -61,6 +61,9 @@ LocationAttrDFW::getAllLocations(GetDocsumsState *state) const return retval; } +LocationAttrDFW::AllLocations::AllLocations() = default; +LocationAttrDFW::AllLocations::~AllLocations() = default; + AbsDistanceDFW::AbsDistanceDFW(const vespalib::string & attrName) : LocationAttrDFW(attrName) { } diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h index 9924f9aa16c..c0d9d7d8111 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h @@ -13,7 +13,7 @@ class LocationAttrDFW : public AttrDFW public: using GeoLoc = search::common::GeoLocation; - LocationAttrDFW(const vespalib::string & attrName) + explicit LocationAttrDFW(const vespalib::string & attrName) : AttrDFW(attrName) {} @@ -21,7 +21,8 @@ public: std::vector<const GeoLoc *> matching; std::vector<const GeoLoc *> other; - ~AllLocations() {} + AllLocations(); + ~AllLocations(); bool empty() const { return matching.empty() && other.empty(); @@ -39,7 +40,7 @@ private: uint64_t findMinDistance(uint32_t docid, GetDocsumsState *state, const std::vector<const GeoLoc *> &locations) const; public: - AbsDistanceDFW(const vespalib::string & attrName); + explicit AbsDistanceDFW(const vespalib::string & attrName); bool IsGenerated() const override { return true; } void insertField(uint32_t docid, GetDocsumsState *state, diff --git a/searchsummary/src/vespa/searchsummary/docsummary/summaryfieldconverter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/summaryfieldconverter.cpp index 0dd15ad888e..218a9b82803 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/summaryfieldconverter.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/summaryfieldconverter.cpp @@ -137,7 +137,7 @@ void handleIndexingTerms(Handler &handler, const StringFieldValue &value) { if (!tree) { // Treat a string without annotations as a single span. SpanTerm str(Span(0, handler.text.size()), - static_cast<const FieldValue*>(0)); + static_cast<const FieldValue*>(nullptr)); handler.handleAnnotations(str.first, &str, &str + 1); return; } @@ -184,7 +184,7 @@ const StringFieldValue &ensureStringFieldValue(const FieldValue &value) { struct FieldValueConverter { virtual FieldValue::UP convert(const FieldValue &input) = 0; - virtual ~FieldValueConverter() {} + virtual ~FieldValueConverter() = default; }; @@ -313,7 +313,7 @@ class SummaryFieldValueConverter : protected ConstFieldValueVisitor public: SummaryFieldValueConverter(bool tokenize, FieldValueConverter &subConverter); - ~SummaryFieldValueConverter(); + ~SummaryFieldValueConverter() override; FieldValue::UP convert(const FieldValue &input) { input.accept(*this); @@ -569,7 +569,7 @@ private: const std::vector<uint32_t>* _matching_elems; public: - SlimeConverter(bool tokenize) + explicit SlimeConverter(bool tokenize) : _tokenize(tokenize), _matching_elems() {} diff --git a/streamingvisitors/src/vespa/vsm/vsm/docsumconfig.cpp b/streamingvisitors/src/vespa/vsm/vsm/docsumconfig.cpp index bfa43038ea2..5b9c73cb07d 100644 --- a/streamingvisitors/src/vespa/vsm/vsm/docsumconfig.cpp +++ b/streamingvisitors/src/vespa/vsm/vsm/docsumconfig.cpp @@ -68,10 +68,8 @@ DynamicDocsumConfig::createFieldWriter(const string & fieldName, const string & } else if ((overrideName == "matchedattributeelementsfilter") || (overrideName == "matchedelementsfilter")) { string source_field = argument.empty() ? fieldName : argument; - const ResultConfig& resultConfig = getResultConfig(); - int source_field_enum = resultConfig.GetFieldNameEnum().Lookup(source_field.c_str()); populate_fields(*matching_elems_fields, *_vsm_fields_config, source_field); - fieldWriter = MatchedElementsFilterDFW::create(source_field, source_field_enum, matching_elems_fields); + fieldWriter = MatchedElementsFilterDFW::create(source_field, matching_elems_fields); rc = static_cast<bool>(fieldWriter); } else { fieldWriter = search::docsummary::DynamicDocsumConfig::createFieldWriter(fieldName, overrideName, argument, rc, matching_elems_fields); |