1 #ifndef TAG_PARSER_VORBISCOMMENTFIELD_H
2 #define TAG_PARSER_VORBISCOMMENTFIELD_H
4 #include "../generictagfield.h"
25 return static_cast<std::uint8_t>(lhs) & static_cast<std::uint8_t>(rhs);
30 return static_cast<VorbisCommentFlags>(static_cast<std::uint8_t>(lhs) | static_cast<std::uint8_t>(rhs));
33 class VorbisCommentField;
56 void parse(std::istream &stream, std::uint64_t &maxSize,
Diagnostics &diag);
58 bool isAdditionalTypeInfoUsed()
const;
59 bool supportsNestedFields()
const;
61 static typename std::string fieldIdFromString(
const char *idString, std::size_t idStringSize = std::string::npos);
62 static std::string fieldIdToString(
const std::string &
id);
66 template <
class StreamType>
void internalParse(StreamType &stream, std::uint64_t &maxSize,
Diagnostics &diag);
91 return idStringSize != std::string::npos ? std::string(idString, idStringSize) : std::string(idString);
106 inline void VorbisCommentField::reset()
112 #endif // TAG_PARSER_VORBISCOMMENTFIELD_H