diff options
Diffstat (limited to 'searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.h')
-rw-r--r-- | searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.h b/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.h index ec806ba0ac6..3b7ab911956 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.h @@ -4,7 +4,10 @@ #include "docsumfieldwriter.h" -namespace search { class MatchingElements; } +namespace search { +class MatchingElements; +class StructFieldMapper; +} namespace search::attribute { class IAttributeContext; } namespace search::docsummary { @@ -22,14 +25,15 @@ protected: uint32_t _stateIndex; const bool _filter_elements; vespalib::string _fieldName; - AttributeCombinerDFW(const vespalib::string &fieldName, bool filter_elements); + std::shared_ptr<StructFieldMapper> _struct_field_mapper; + AttributeCombinerDFW(const vespalib::string &fieldName, bool filter_elements, std::shared_ptr<StructFieldMapper> struct_field_mapper); protected: virtual std::unique_ptr<DocsumFieldWriterState> allocFieldWriterState(search::attribute::IAttributeContext &context, const MatchingElements* matching_elements) = 0; public: ~AttributeCombinerDFW() override; bool IsGenerated() const override; bool setFieldWriterStateIndex(uint32_t fieldWriterStateIndex) override; - static std::unique_ptr<IDocsumFieldWriter> create(const vespalib::string &fieldName, IAttributeManager &attrMgr, bool filter_elements); + static std::unique_ptr<IDocsumFieldWriter> create(const vespalib::string &fieldName, IAttributeManager &attrMgr, bool filter_elements, std::shared_ptr<StructFieldMapper> struct_field_mapper); void insertField(uint32_t docid, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) override; }; |