6 #include <c++utilities/conversion/binaryconversion.h> 7 #include <c++utilities/chrono/timespan.h> 8 #include <c++utilities/chrono/datetime.h> 9 #include <c++utilities/misc/memory.h> 89 void clearDataAndMetadata();
95 int32 toInteger()
const;
96 int toStandardGenreIndex()
const;
100 size_t dataSize()
const;
101 char *dataPointer()
const;
104 const std::string &mimeType()
const;
105 void setMimeType(
const std::string &value);
106 const std::string &
language()
const;
107 void setLanguage(
const std::string &value);
108 bool isLabeledAsReadonly()
const;
109 void setReadonly(
bool value);
112 void convertDataEncodingForTag(
const Tag *tag);
118 void assignInteger(
int value);
119 void assignStandardGenreIndex(
int index);
128 std::unique_ptr<char[]> m_ptr;
129 std::string::size_type m_size;
132 std::string m_mimeType;
134 bool m_labeledAsReadonly;
145 m_labeledAsReadonly(false),
160 m_labeledAsReadonly(false),
163 assignText(text, textSize, textEncoding, convertTo);
175 m_labeledAsReadonly(false),
200 m_labeledAsReadonly(false),
201 m_encoding(encoding),
205 m_ptr = std::make_unique<char []>(m_size);
206 std::copy(data, data + length, m_ptr.get());
224 m_labeledAsReadonly(false),
225 m_encoding(encoding),
247 return !(*
this == other);
260 assignText(text.data(), text.size(), textEncoding, convertTo);
333 return m_ptr ==
nullptr || m_size == 0;
390 m_descEncoding = encoding;
445 return m_labeledAsReadonly;
458 m_labeledAsReadonly = value;
478 return m_descEncoding;
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.