Tag Parser
9.0.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
|
The TagField class is used by FieldMapBasedTag to store the fields. More...
#include <generictagfield.h>
Public Types | |
using | IdentifierType = typename TagFieldTraits< ImplementationType >::IdentifierType |
using | TypeInfoType = typename TagFieldTraits< ImplementationType >::TypeInfoType |
Public Member Functions | |
TagField () | |
Constructs an empty TagField. More... | |
TagField (const IdentifierType &id, const TagValue &value) | |
Constructs a new TagField with the specified id and value. More... | |
~TagField () | |
Destroys the TagField. More... | |
const IdentifierType & | id () const |
Returns the id of the current TagField. More... | |
std::string | idToString () const |
void | setId (const IdentifierType &id) |
Sets the id of the current Tag Field. More... | |
void | clearId () |
Clears the id of the current TagField. More... | |
TagValue & | value () |
Returns the value of the current TagField. More... | |
const TagValue & | value () const |
Returns the value of the current TagField. More... | |
void | setValue (const TagValue &value) |
Sets the value of the current TagField. More... | |
void | clearValue () |
Clears the value of the current TagField. More... | |
const TypeInfoType & | typeInfo () const |
Returns the type info of the current TagField. More... | |
void | setTypeInfo (const TypeInfoType &typeInfo) |
Sets the type info of the current TagField. More... | |
void | removeTypeInfo () |
Removes the type info from the current TagField. More... | |
bool | isTypeInfoAssigned () const |
Returns an indication whether a type info is assigned. More... | |
bool | isDefault () const |
Returns an indication whether the field is labeled as default. More... | |
void | setDefault (bool isDefault) |
Sets whether the field is labeled as default. More... | |
void | clear () |
Clears id, value, type info, sets default flag to false and resets further implementation specific values. More... | |
bool | isAdditionalTypeInfoUsed () const |
Returns an indication whether the additional type info is used. More... | |
const std::vector< ImplementationType > & | nestedFields () const |
Returns the nested fields. More... | |
std::vector< ImplementationType > & | nestedFields () |
Returns the nested fields. More... | |
bool | supportsNestedFields () const |
Returns whether nested fields are supported by the implementation. More... | |
Friends | |
class | TagFieldTraits< ImplementationType > |
The TagField class is used by FieldMapBasedTag to store the fields.
A TagField consists of an identifier and a value. An additional type info might be assigned as well. The usage of the type info depends on the particular tag implementation.
ImplementationType | Specifies the type of the actual implementation. |
Definition at line 8 of file generictagfield.h.
using TagParser::TagField< ImplementationType >::IdentifierType = typename TagFieldTraits<ImplementationType>::IdentifierType |
Definition at line 34 of file generictagfield.h.
using TagParser::TagField< ImplementationType >::TypeInfoType = typename TagFieldTraits<ImplementationType>::TypeInfoType |
Definition at line 35 of file generictagfield.h.
TagParser::TagField< ImplementationType >::TagField | ( | ) |
Constructs an empty TagField.
Definition at line 83 of file generictagfield.h.
TagParser::TagField< ImplementationType >::TagField | ( | const IdentifierType & | id, |
const TagValue & | value | ||
) |
Constructs a new TagField with the specified id and value.
Definition at line 96 of file generictagfield.h.
TagParser::TagField< ImplementationType >::~TagField | ( | ) |
Destroys the TagField.
Definition at line 108 of file generictagfield.h.
void TagParser::TagField< ImplementationType >::clear | ( | ) |
Clears id, value, type info, sets default flag to false and resets further implementation specific values.
Definition at line 226 of file generictagfield.h.
|
inline |
Clears the id of the current TagField.
Definition at line 136 of file generictagfield.h.
|
inline |
Clears the value of the current TagField.
Definition at line 168 of file generictagfield.h.
|
inline |
Returns the id of the current TagField.
Definition at line 115 of file generictagfield.h.
|
inline |
Definition at line 120 of file generictagfield.h.
|
inline |
Returns an indication whether the additional type info is used.
The default implementation always returns false. The method might be reimplemented when subclassing.
Definition at line 242 of file generictagfield.h.
|
inline |
Returns an indication whether the field is labeled as default.
Definition at line 210 of file generictagfield.h.
|
inline |
Returns an indication whether a type info is assigned.
Definition at line 202 of file generictagfield.h.
|
inline |
Returns the nested fields.
Definition at line 260 of file generictagfield.h.
const std::vector< ImplementationType > & TagParser::TagField< ImplementationType >::nestedFields | ( | ) | const |
Returns the nested fields.
Definition at line 250 of file generictagfield.h.
|
inline |
Removes the type info from the current TagField.
Definition at line 193 of file generictagfield.h.
|
inline |
Sets whether the field is labeled as default.
Definition at line 218 of file generictagfield.h.
|
inline |
Sets the id of the current Tag Field.
Definition at line 128 of file generictagfield.h.
|
inline |
Sets the type info of the current TagField.
Definition at line 184 of file generictagfield.h.
|
inline |
Sets the value of the current TagField.
Definition at line 160 of file generictagfield.h.
|
inline |
Returns whether nested fields are supported by the implementation.
Definition at line 268 of file generictagfield.h.
|
inline |
Returns the type info of the current TagField.
Definition at line 176 of file generictagfield.h.
|
inline |
Returns the value of the current TagField.
Definition at line 144 of file generictagfield.h.
|
inline |
Returns the value of the current TagField.
Definition at line 152 of file generictagfield.h.
|
friend |
Definition at line 31 of file generictagfield.h.