1#ifndef TAG_PARSER_MATROSKATAGFIELD_H
2#define TAG_PARSER_MATROSKATAGFIELD_H
34 void make(std::ostream &stream)
const;
42 std::string m_stringValue;
43 const std::string &m_language;
44 const std::string &m_languageIETF;
45 std::uint64_t m_simpleTagSize;
46 std::uint64_t m_totalSize;
47 std::vector<MatroskaTagFieldMaker> m_nestedMaker;
107 return std::string(idString);
The Diagnostics class is a container for DiagMessage.
The EbmlElement class helps to parse EBML files such as Matroska files.
The MatroskaTagFieldMaker class helps making tag fields.
const MatroskaTagField & field() const
Returns the associated field.
void make(std::ostream &stream) const
Saves the field (specified when constructing the object) to the specified stream (makes a "SimpleTag"...
std::uint64_t requiredSize() const
Returns number of bytes which will be written when making the field.
friend class MatroskaTagField
The MatroskaTagField class is used by MatroskaTag to store the fields.
static void normalizeId(std::string &id)
Ensures the specified id is upper-case as recommended by the Matroska spec.
void reparse(EbmlElement &simpleTagElement, Diagnostics &diag, bool parseNestedFields=true)
Parses field information from the specified EbmlElement.
MatroskaTagFieldMaker prepareMaking(Diagnostics &diag)
Prepares making.
static std::string fieldIdToString(const std::string &id)
Returns the string representation for the specified id.
void make(std::ostream &stream, Diagnostics &diag)
Saves the field to the specified stream (makes a "SimpleTag" element).
static std::string fieldIdFromString(std::string_view idString)
Converts the specified ID string representation to an actual ID.
bool supportsNestedFields() const
Returns whether nested fields are supported.
MatroskaTagField()
Constructs a new MatroskaTagField.
bool isAdditionalTypeInfoUsed() const
Returns whether the additional type info is used.
static bool supportsNestedFields()
The MatroskaTagField supports nested fields.
std::string IdentifierType
Defines traits for the specified ImplementationType.
The TagValue class wraps values of different types.
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Contains all classes and functions of the TagInfo library.