1 #ifndef TAG_PARSER_MATROSKATAG_H 2 #define TAG_PARSER_MATROSKATAG_H 7 #include "../fieldbasedtag.h" 18 void make(std::ostream &stream)
const;
20 uint64 requiredSize()
const;
27 uint64 m_simpleTagsSize;
28 std::vector<MatroskaTagFieldMaker> m_maker;
55 using Compare = std::less<typename FieldType::IdentifierType>;
65 static constexpr
const char *tagName =
"Matroska tag";
68 bool supportsTarget()
const override;
69 bool supportsMultipleValues(
KnownField field)
const override;
77 IdentifierType internallyGetFieldId(
KnownField field)
const;
78 KnownField internallyGetKnownField(
const IdentifierType &
id)
const;
145 #endif // TAG_PARSER_MATROSKATAG_H constexpr TAG_PARSER_EXPORT TagTargetLevel matroskaTagTargetLevel(uint64 targetLevelValue)
Returns the general TagTargetLevel for the Matroska specific targetLevelValue.
The FieldMapBasedTag provides a generic implementation of Tag which stores the tag fields using std::...
TagTargetLevel
The TagTargetLevel enum specifies tag target levels.
bool supportsMultipleValues(KnownField field) const override
Allows multiple values for all fields.
MatroskaTagMaker prepareMaking(Diagnostics &diag)
Prepares making.
uint64 requiredSize() const
Returns the number of bytes which will be written when making the tag.
uint64 level() const
Returns the level.
std::less< typename FieldType::IdentifierType > Compare
The MatroskaTagMaker class helps writing Matroska "Tag"-elements storing tag information.
KnownField
Specifies the field.
The EbmlElement class helps to parse EBML files such as Matroska files.
The MatroskaTagField class is used by MatroskaTag to store the fields.
Defines traits for the specified ImplementationType.
void make(std::ostream &stream, Diagnostics &diag)
Writes tag information to the specified stream (makes a "Tag"-element).
bool canEncodingBeUsed(TagTextEncoding encoding) const override
Returns an indication whether the specified encoding can be used to provide string values for the tag...
Implementation of TagParser::Tag for the Matroska container.
MatroskaTag()
Constructs a new tag.
void make(std::ostream &stream) const
Saves the tag (specified when constructing the object) to the specified stream (makes a "Tag"-element...
const MatroskaTag & tag() const
Returns the associated tag.
TagType
Specifies the tag type.
TagTextEncoding
Specifies the text encoding.
bool supportsTarget() const override
Returns an indication whether a target is supported by the tag.
Contains all classes and functions of the TagInfo library.
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
The Diagnostics class is a container for DiagMessage.
TagTargetLevel targetLevel() const override
Returns the name of the current tag target level.