diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-03-17 17:39:41 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-03-17 17:39:41 +0000 |
commit | f5d308f5cb8bd1f5a4d7daaac18ed1aaa8e8778e (patch) | |
tree | d7b0583b97b50e199ca0c03c4f920ce966b01f1b /document | |
parent | 9b3229dc9a347d4aef77acf23a5332943edf46f3 (diff) |
Add explicit and GC unused getAddZeroTerm
Diffstat (limited to 'document')
5 files changed, 13 insertions, 19 deletions
diff --git a/document/src/vespa/document/fieldvalue/literalfieldvalue.cpp b/document/src/vespa/document/fieldvalue/literalfieldvalue.cpp index ea945dfd688..2ba382f5ef8 100644 --- a/document/src/vespa/document/fieldvalue/literalfieldvalue.cpp +++ b/document/src/vespa/document/fieldvalue/literalfieldvalue.cpp @@ -113,7 +113,7 @@ LiteralFieldValueB::syncBacking() const _value = _backing; } -template class LiteralFieldValue<RawFieldValue, DataType::T_RAW, false>; -template class LiteralFieldValue<StringFieldValue, DataType::T_STRING, true>; +template class LiteralFieldValue<RawFieldValue, DataType::T_RAW>; +template class LiteralFieldValue<StringFieldValue, DataType::T_STRING>; } // namespace document diff --git a/document/src/vespa/document/fieldvalue/literalfieldvalue.h b/document/src/vespa/document/fieldvalue/literalfieldvalue.h index 20da3b3e70d..b8ce255771e 100644 --- a/document/src/vespa/document/fieldvalue/literalfieldvalue.h +++ b/document/src/vespa/document/fieldvalue/literalfieldvalue.h @@ -27,7 +27,7 @@ public: typedef std::unique_ptr<LiteralFieldValueB> UP; typedef string value_type; - LiteralFieldValueB(Type type); + explicit LiteralFieldValueB(Type type); ~LiteralFieldValueB(); LiteralFieldValueB(const LiteralFieldValueB &); @@ -78,24 +78,18 @@ protected: mutable stringref _value; mutable string _backing; // Lazily set when needed mutable bool _altered; // Set if altered after deserialization -private: - virtual bool getAddZeroTerm() const = 0; }; -template<typename SubClass, int dataType, bool addZeroTerm> +template<typename SubClass, int dataType> class LiteralFieldValue : public LiteralFieldValueB { -private: - bool getAddZeroTerm() const override{ return addZeroTerm; } public: - typedef std::unique_ptr<SubClass> UP; - - LiteralFieldValue(Type type) : LiteralFieldValueB(type) { } + explicit LiteralFieldValue(Type type) : LiteralFieldValueB(type) { } LiteralFieldValue(Type type, const stringref& value) : LiteralFieldValueB(type, value) { } const DataType *getDataType() const override; }; -extern template class LiteralFieldValue<RawFieldValue, DataType::T_RAW, false>; -extern template class LiteralFieldValue<StringFieldValue, DataType::T_STRING, true>; +extern template class LiteralFieldValue<RawFieldValue, DataType::T_RAW>; +extern template class LiteralFieldValue<StringFieldValue, DataType::T_STRING>; } // document diff --git a/document/src/vespa/document/fieldvalue/literalfieldvalue.hpp b/document/src/vespa/document/fieldvalue/literalfieldvalue.hpp index b9335da67b4..91364de29fa 100644 --- a/document/src/vespa/document/fieldvalue/literalfieldvalue.hpp +++ b/document/src/vespa/document/fieldvalue/literalfieldvalue.hpp @@ -6,9 +6,9 @@ namespace document { -template<typename SubClass, int dataType, bool addZeroTerm> +template<typename SubClass, int dataType> const DataType * -LiteralFieldValue<SubClass, dataType, addZeroTerm>::getDataType() const +LiteralFieldValue<SubClass, dataType>::getDataType() const { switch (dataType) { case DataType::T_URI: return DataType::URI; diff --git a/document/src/vespa/document/fieldvalue/rawfieldvalue.h b/document/src/vespa/document/fieldvalue/rawfieldvalue.h index a5e137fc7bf..b946ecd0038 100644 --- a/document/src/vespa/document/fieldvalue/rawfieldvalue.h +++ b/document/src/vespa/document/fieldvalue/rawfieldvalue.h @@ -12,10 +12,10 @@ namespace document { -class RawFieldValue final : public LiteralFieldValue<RawFieldValue, DataType::T_RAW, false> +class RawFieldValue final : public LiteralFieldValue<RawFieldValue, DataType::T_RAW> { public: - typedef LiteralFieldValue<RawFieldValue, DataType::T_RAW, false> Parent; + typedef LiteralFieldValue<RawFieldValue, DataType::T_RAW> Parent; RawFieldValue() : Parent(Type::RAW) { } diff --git a/document/src/vespa/document/fieldvalue/stringfieldvalue.h b/document/src/vespa/document/fieldvalue/stringfieldvalue.h index e3ab5412637..95cd9c6190c 100644 --- a/document/src/vespa/document/fieldvalue/stringfieldvalue.h +++ b/document/src/vespa/document/fieldvalue/stringfieldvalue.h @@ -17,9 +17,9 @@ namespace document { class FixedTypeRepo; class DocumentTypeRepo; -class StringFieldValue final : public LiteralFieldValue<StringFieldValue, DataType::T_STRING, true> { +class StringFieldValue final : public LiteralFieldValue<StringFieldValue, DataType::T_STRING> { public: - typedef LiteralFieldValue<StringFieldValue, DataType::T_STRING, true> Parent; + typedef LiteralFieldValue<StringFieldValue, DataType::T_STRING> Parent; typedef std::vector<SpanTree::UP> SpanTrees; StringFieldValue() : Parent(Type::STRING), _annotationData() { } |