8 template <
class implementationType>
17 template<
typename ImplementationType>
31 template <
class ImplementationType>
41 TagField(
const identifierType &
id,
const TagValue &value);
44 const identifierType &id()
const;
45 void setId(
const identifierType &
id);
50 void setValue(
const TagValue &value);
53 const typeInfoType &typeInfo()
const;
54 void setTypeInfo(
const typeInfoType &typeInfo);
55 void removeTypeInfo();
56 bool isTypeInfoAssigned()
const;
58 bool isDefault()
const;
59 void setDefault(
bool isDefault);
63 bool isAdditionalTypeInfoUsed()
const;
65 const std::vector<ImplementationType> &nestedFields()
const;
66 std::vector<ImplementationType> &nestedFields();
67 bool supportsNestedFields()
const;
75 typeInfoType m_typeInfo;
76 bool m_typeInfoAssigned;
78 std::vector<ImplementationType> m_nestedFields;
84 template <
class ImplementationType>
89 m_typeInfoAssigned(false),
96 template <
class ImplementationType>
101 m_typeInfoAssigned(false),
108 template <
class ImplementationType>
115 template <
class ImplementationType>
124 template <
class ImplementationType>
133 template <
class ImplementationType>
142 template <
class ImplementationType>
151 template <
class ImplementationType>
160 template <
class ImplementationType>
169 template <
class ImplementationType>
172 m_value.clearDataAndMetadata();
178 template <
class ImplementationType>
187 template <
class ImplementationType>
190 m_typeInfo = typeInfo;
191 m_typeInfoAssigned =
true;
197 template <
class ImplementationType>
201 m_typeInfoAssigned =
false;
207 template <
class ImplementationType>
210 return m_typeInfoAssigned;
216 template <
class ImplementationType>
225 template <
class ImplementationType>
228 m_default = isDefault;
234 template <
class ImplementationType>
240 m_typeInfoAssigned =
false;
242 static_cast<ImplementationType *
>(
this)->cleared();
251 template <
class ImplementationType>
254 return static_cast<ImplementationType *
>(
this)->isAdditionalTypeInfoUsed();
260 template <
class ImplementationType>
263 return m_nestedFields;
271 template <
class ImplementationType>
274 return m_nestedFields;
280 template <
class ImplementationType>
283 return static_cast<ImplementationType *
>(
this)->supportsNestedFields();
289 template <
class ImplementationType>
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.