8 template <
class implementationType>
17 template<
typename ImplementationType>
31 template <
class ImplementationType>
45 std::string idToString()
const;
51 void setValue(
const TagValue &value);
56 void removeTypeInfo();
57 bool isTypeInfoAssigned()
const;
59 bool isDefault()
const;
60 void setDefault(
bool isDefault);
64 bool isAdditionalTypeInfoUsed()
const;
66 const std::vector<ImplementationType> &nestedFields()
const;
67 std::vector<ImplementationType> &nestedFields();
68 bool supportsNestedFields()
const;
77 bool m_typeInfoAssigned;
79 std::vector<ImplementationType> m_nestedFields;
85 template <
class ImplementationType>
90 m_typeInfoAssigned(false),
97 template <
class ImplementationType>
102 m_typeInfoAssigned(false),
109 template <
class ImplementationType>
116 template <
class ImplementationType>
122 template<
class ImplementationType>
125 return ImplementationType::fieldIdToString(m_id);
131 template <
class ImplementationType>
140 template <
class ImplementationType>
149 template <
class ImplementationType>
158 template <
class ImplementationType>
167 template <
class ImplementationType>
176 template <
class ImplementationType>
179 m_value.clearDataAndMetadata();
185 template <
class ImplementationType>
194 template <
class ImplementationType>
197 m_typeInfo = typeInfo;
198 m_typeInfoAssigned =
true;
204 template <
class ImplementationType>
208 m_typeInfoAssigned =
false;
214 template <
class ImplementationType>
217 return m_typeInfoAssigned;
223 template <
class ImplementationType>
232 template <
class ImplementationType>
235 m_default = isDefault;
241 template <
class ImplementationType>
247 m_typeInfoAssigned =
false;
249 static_cast<ImplementationType *
>(
this)->cleared();
258 template <
class ImplementationType>
261 return static_cast<ImplementationType *
>(
this)->isAdditionalTypeInfoUsed();
267 template <
class ImplementationType>
270 return m_nestedFields;
278 template <
class ImplementationType>
281 return m_nestedFields;
287 template <
class ImplementationType>
290 return static_cast<ImplementationType *
>(
this)->supportsNestedFields();
296 template <
class ImplementationType>
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.