6 #include <c++utilities/conversion/binaryconversion.h> 7 #include <c++utilities/chrono/timespan.h> 8 #include <c++utilities/chrono/datetime.h> 91 void clearDataAndMetadata();
97 int32 toInteger()
const;
98 int toStandardGenreIndex()
const;
102 size_t dataSize()
const;
103 char *dataPointer()
const;
106 const std::string &mimeType()
const;
107 void setMimeType(
const std::string &value);
108 const std::string &
language()
const;
109 void setLanguage(
const std::string &value);
110 bool isLabeledAsReadonly()
const;
111 void setReadonly(
bool value);
114 void convertDataEncodingForTag(
const Tag *tag);
120 void assignInteger(
int value);
121 void assignStandardGenreIndex(
int index);
130 static void stripBom(
const char *&text,
size_t &length,
TagTextEncoding encoding);
131 static void ensureHostByteOrder(std::u16string &u16str,
TagTextEncoding currentEncoding);
133 std::unique_ptr<char[]> m_ptr;
134 std::string::size_type m_size;
137 std::string m_mimeType;
139 bool m_labeledAsReadonly;
150 m_labeledAsReadonly(false),
166 m_labeledAsReadonly(false),
169 assignText(text, textSize, textEncoding, convertTo);
182 m_labeledAsReadonly(false),
208 m_labeledAsReadonly(false),
209 m_encoding(encoding),
214 stripBom(data, m_size, encoding);
216 m_ptr = std::make_unique<char []>(m_size);
217 std::copy(data, data + m_size, m_ptr.get());
236 m_labeledAsReadonly(false),
237 m_encoding(encoding),
259 return !(*
this == other);
273 assignText(text.data(), text.size(), textEncoding, convertTo);
346 return m_ptr ==
nullptr || m_size == 0;
403 m_descEncoding = encoding;
458 return m_labeledAsReadonly;
471 m_labeledAsReadonly = value;
491 return m_descEncoding;
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.