aboutsummaryrefslogtreecommitdiffstats
path: root/vsm
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2019-09-27 11:20:33 +0200
committerTor Egge <Tor.Egge@broadpark.no>2019-09-27 11:20:33 +0200
commit7c65b5500e4e7680e72a6403f284b9757f1879ee (patch)
treef1a6b94a544e5085292a657ea34b71522ac5b566 /vsm
parent83c97aaad8bdfd6cc11b49be4a542e179cda1b4f (diff)
Move ownership of MatchingElements to GetDocsumsState.
Diffstat (limited to 'vsm')
-rw-r--r--vsm/src/vespa/vsm/vsm/vsm-adapter.cpp10
-rw-r--r--vsm/src/vespa/vsm/vsm/vsm-adapter.h3
2 files changed, 4 insertions, 9 deletions
diff --git a/vsm/src/vespa/vsm/vsm/vsm-adapter.cpp b/vsm/src/vespa/vsm/vsm/vsm-adapter.cpp
index 6f9e58f8718..8a480419aa5 100644
--- a/vsm/src/vespa/vsm/vsm/vsm-adapter.cpp
+++ b/vsm/src/vespa/vsm/vsm/vsm-adapter.cpp
@@ -16,8 +16,7 @@ namespace vsm {
GetDocsumsStateCallback::GetDocsumsStateCallback() :
_summaryFeatures(),
- _rankFeatures(),
- _matching_elements()
+ _rankFeatures()
{ }
void GetDocsumsStateCallback::FillSummaryFeatures(GetDocsumsState * state, IDocsumEnvironment * env)
@@ -48,13 +47,10 @@ void GetDocsumsStateCallback::FillDocumentLocations(GetDocsumsState *state, IDoc
(void) env;
}
-const MatchingElements&
+std::unique_ptr<MatchingElements>
GetDocsumsStateCallback::fill_matching_elements()
{
- if (!_matching_elements) {
- _matching_elements = std::make_unique<MatchingElements>();
- }
- return *_matching_elements;
+ return std::make_unique<MatchingElements>();
}
GetDocsumsStateCallback::~GetDocsumsStateCallback() = default;
diff --git a/vsm/src/vespa/vsm/vsm/vsm-adapter.h b/vsm/src/vespa/vsm/vsm/vsm-adapter.h
index aaa73f4ba24..2a5b1e1d47c 100644
--- a/vsm/src/vespa/vsm/vsm/vsm-adapter.h
+++ b/vsm/src/vespa/vsm/vsm/vsm-adapter.h
@@ -32,7 +32,6 @@ class GetDocsumsStateCallback : public search::docsummary::GetDocsumsStateCallba
private:
search::FeatureSet::SP _summaryFeatures;
search::FeatureSet::SP _rankFeatures;
- std::unique_ptr<search::MatchingElements> _matching_elements;
public:
GetDocsumsStateCallback();
@@ -40,7 +39,7 @@ public:
void FillRankFeatures(GetDocsumsState * state, IDocsumEnvironment * env) override;
void ParseLocation(GetDocsumsState * state) override;
virtual void FillDocumentLocations(GetDocsumsState * state, IDocsumEnvironment * env);
- virtual const search::MatchingElements& fill_matching_elements() override;
+ virtual std::unique_ptr<search::MatchingElements> fill_matching_elements() override;
void setSummaryFeatures(const search::FeatureSet::SP & sf) { _summaryFeatures = sf; }
void setRankFeatures(const search::FeatureSet::SP & rf) { _rankFeatures = rf; }
~GetDocsumsStateCallback();