summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer.h3
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.h3
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/res_type_utils.h81
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/resultclass.cpp9
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/resultclass.h22
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp26
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/resultconfig.h17
8 files changed, 11 insertions, 152 deletions
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer.h b/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer.h
index 8bce30caf52..a1af91a2b3f 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer.h
@@ -23,9 +23,6 @@ public:
{
}
virtual ~DocsumFieldWriter() = default;
- static bool IsRuntimeCompatible(ResType a, ResType b) {
- return ResTypeUtils::IsRuntimeCompatible(a, b);
- }
virtual bool IsGenerated() const = 0;
virtual void insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const = 0;
virtual const vespalib::string & getAttributeName() const;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.h
index b86313dfbd4..cb337f7f3d3 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.h
@@ -19,12 +19,11 @@ public:
_env(env),
_writer(writer)
{ }
- virtual ~DynamicDocsumConfig() { }
+ virtual ~DynamicDocsumConfig() = default;
void configure(const vespa::config::search::SummarymapConfig &cfg);
protected:
using string = vespalib::string;
IDocsumEnvironment * getEnvironment() { return _env; }
- const IDocsumEnvironment * getEnvironment() const { return _env; }
const ResultConfig & getResultConfig() const;
virtual std::unique_ptr<DocsumFieldWriter>
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h
index adcd47c098c..8e483b06a3c 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h
@@ -35,7 +35,7 @@ public:
virtual void FillSummaryFeatures(GetDocsumsState * state, IDocsumEnvironment * env) = 0;
virtual void FillRankFeatures(GetDocsumsState * state, IDocsumEnvironment * env) = 0;
virtual std::unique_ptr<MatchingElements> fill_matching_elements(const MatchingElementsFields &matching_elems_fields) = 0;
- virtual ~GetDocsumsStateCallback(void) { }
+ virtual ~GetDocsumsStateCallback() = default;
GetDocsumsStateCallback(const GetDocsumsStateCallback &) = delete;
GetDocsumsStateCallback & operator = (const GetDocsumsStateCallback &) = delete;
protected:
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/res_type_utils.h b/searchsummary/src/vespa/searchsummary/docsummary/res_type_utils.h
index 194a008c179..9d73b7dc3fd 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/res_type_utils.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/res_type_utils.h
@@ -6,93 +6,12 @@
namespace search::docsummary {
-
/*
* Utilitiy functions for checking if result type is ok.
*/
struct ResTypeUtils
{
/**
- * Determine if a result field type is of variable size.
- *
- * @return true for variable size field types, false for fixed
- * size field types
- **/
- static bool IsVariableSize(ResType t) { return (t >= RES_STRING); }
-
-
- /**
- * Determine if a pair of result field types are binary
- * compatible. A pair of types are binary compatible if the packed
- * representation is identical.
- *
- * @return true if the given types are binary compatible.
- * @param a enum value of a result field type.
- * @param b enum value of a result field type.
- **/
- static bool IsBinaryCompatible(ResType a, ResType b)
- {
- if (a == b) {
- return true;
- }
- switch (a) {
- case RES_BYTE:
- case RES_BOOL:
- return (b == RES_BYTE || b == RES_BOOL);
- case RES_STRING:
- case RES_DATA:
- return (b == RES_STRING || b == RES_DATA);
- case RES_LONG_STRING:
- case RES_LONG_DATA:
- case RES_FEATUREDATA:
- case RES_JSONSTRING:
- return (b == RES_LONG_STRING || b == RES_LONG_DATA ||
- b == RES_FEATUREDATA || b == RES_JSONSTRING);
- default:
- return false;
- }
- return false;
- }
-
-
- /**
- * Determine if a pair of result field types are runtime
- * compatible. A pair of types are runtime compatible if the
- * unpacked (@ref ResEntry) representation is identical.
- *
- * @return true if the given types are runtime compatible.
- * @param a enum value of a result field type.
- * @param b enum value of a result field type.
- **/
- static bool IsRuntimeCompatible(ResType a, ResType b)
- {
- switch (a) {
- case RES_INT:
- case RES_SHORT:
- case RES_BYTE:
- case RES_BOOL:
- return (b == RES_INT || b == RES_SHORT || b == RES_BYTE || b == RES_BOOL);
- case RES_FLOAT:
- case RES_DOUBLE:
- return (b == RES_FLOAT || b == RES_DOUBLE);
- case RES_INT64:
- return b == RES_INT64;
- case RES_STRING:
- case RES_LONG_STRING:
- case RES_JSONSTRING:
- return (b == RES_STRING || b == RES_LONG_STRING || b == RES_JSONSTRING);
- case RES_DATA:
- case RES_LONG_DATA:
- return (b == RES_DATA || b == RES_LONG_DATA);
- case RES_TENSOR:
- return (b == RES_TENSOR);
- case RES_FEATUREDATA:
- return (b == RES_FEATUREDATA);
- }
- return false;
- }
-
- /**
* @return the name of the given result field type.
* @param resType enum value of a result field type.
**/
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/resultclass.cpp b/searchsummary/src/vespa/searchsummary/docsummary/resultclass.cpp
index 37be8e0a1b2..b648d363d87 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/resultclass.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/resultclass.cpp
@@ -7,14 +7,13 @@
namespace search::docsummary {
-ResultClass::ResultClass(const char *name, uint32_t id, util::StringEnum & fieldEnum)
+ResultClass::ResultClass(const char *name, util::StringEnum & fieldEnum)
: _name(name),
- _classID(id),
_entries(),
_nameMap(),
_fieldEnum(fieldEnum),
_enumMap(),
- _dynInfo(NULL),
+ _dynInfo(nullptr),
_omit_summary_features(false)
{ }
@@ -49,8 +48,8 @@ ResultClass::CreateEnumMap()
{
_enumMap.resize(_fieldEnum.GetNumEntries());
- for (uint32_t i(0), m(_enumMap.size()); i < m; i++) {
- _enumMap[i] = -1;
+ for (int & value : _enumMap) {
+ value = -1;
}
for (uint32_t i(0); i < _entries.size(); i++) {
_enumMap[_entries[i]._enumValue] = i;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/resultclass.h b/searchsummary/src/vespa/searchsummary/docsummary/resultclass.h
index 123aa0396ba..5df9ebebdf0 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/resultclass.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/resultclass.h
@@ -47,7 +47,6 @@ private:
typedef std::vector<ResConfigEntry> Configs;
vespalib::string _name; // name of this class
- uint32_t _classID; // ID of this class
Configs _entries; // config entries for this result class
NameIdMap _nameMap; // fieldname -> entry index
util::StringEnum &_fieldEnum; // fieldname -> f.n. enum value [SHARED]
@@ -65,10 +64,9 @@ public:
* ref. to shared string enum object and insert into linked list.
*
* @param name the name of this result class.
- * @param id the numeric id of this result class.
* @param fieldEnum shared object used to enumerate field names.
**/
- ResultClass(const char *name, uint32_t id, util::StringEnum & fieldEnum);
+ ResultClass(const char *name, util::StringEnum & fieldEnum);
/**
* Destructor. Delete internal structures.
@@ -93,22 +91,6 @@ public:
/**
- * Obtain the name of this result class.
- *
- * @return name of this result class.
- **/
- const char *GetClassName() const { return _name.c_str(); }
-
-
- /**
- * Obtain the numeric id of this result class.
- *
- * @return numeric id of this result class.
- **/
- uint32_t GetClassID() const { return _classID; }
-
-
- /**
* Obtain the number of config entries (size of the
* ResConfigEntry array) held by this result class.
*
@@ -191,7 +173,7 @@ public:
**/
const ResConfigEntry *GetEntry(uint32_t offset) const
{
- return (offset < _entries.size()) ? &_entries[offset] : NULL;
+ return (offset < _entries.size()) ? &_entries[offset] : nullptr;
}
void set_omit_summary_features(bool value) {
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp b/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp
index 7fe95b37c4a..85d197f799a 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp
@@ -19,18 +19,13 @@ ResultConfig::Clean()
}
-void
-ResultConfig::Init()
-{
-}
-
-
ResultConfig::ResultConfig()
: _defaultSummaryId(-1),
+ _useV8geoPositions(false),
_classLookup(),
_nameLookup()
{
- Init();
+
}
@@ -45,7 +40,6 @@ ResultConfig::Reset()
{
if (! _classLookup.empty() || _fieldEnum.GetNumEntries() > 0) {
Clean();
- Init();
}
}
@@ -56,7 +50,7 @@ ResultConfig::AddResultClass(const char *name, uint32_t id)
ResultClass *ret = nullptr;
if (id != NoClassID() && (_classLookup.find(id) == _classLookup.end())) {
- ResultClass::UP rc(new ResultClass(name, id, _fieldEnum));
+ auto rc = std::make_unique<ResultClass>(name, _fieldEnum);
ret = rc.get();
_classLookup[id] = std::move(rc);
if (_nameLookup.find(name) != _nameLookup.end()) {
@@ -187,18 +181,4 @@ ResultConfig::ReadConfig(const vespa::config::search::SummaryConfig &cfg, const
return rc;
}
-uint32_t
-ResultConfig::GetClassID(const char *buf, uint32_t buflen)
-{
- uint32_t ret = NoClassID();
- uint32_t tmp32;
-
- if (buflen >= sizeof(tmp32)) {
- memcpy(&tmp32, buf, sizeof(tmp32));
- ret = tmp32;
- }
- return ret;
-}
-
-
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.h b/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.h
index 5f9348da7ab..220c988b634 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.h
@@ -39,7 +39,6 @@ private:
NameMap _nameLookup; // name -> class id
void Clean();
- void Init();
public:
bool useV8geoPositions() const { return _useV8geoPositions; }
@@ -92,11 +91,6 @@ public:
**/
static uint32_t NoClassID() { return static_cast<uint32_t>(-1); }
-
- static bool IsVariableSize(ResType t) { return ResTypeUtils::IsVariableSize(t); }
- static bool IsBinaryCompatible(ResType a, ResType b) { return ResTypeUtils::IsBinaryCompatible(a, b); }
- static bool IsRuntimeCompatible(ResType a, ResType b) { return ResTypeUtils::IsRuntimeCompatible(a, b); }
-
// whether last config seen wanted useV8geoPositions = true
static bool wantedV8geoPositions();
@@ -183,17 +177,6 @@ public:
* @param configId reference on server
**/
bool ReadConfig(const vespa::config::search::SummaryConfig &cfg, const char *configId);
-
- /**
- * Inspect a docsum blob and return the class id of the docsum
- * contained within it. This method is useful if you want to know
- * what it is before deciding whether to unpack it.
- *
- * @return docsum blob class id.
- * @param buf docsum blob.
- * @param buflen length of docsum blob.
- **/
- uint32_t GetClassID(const char *buf, uint32_t buflen);
};
}