Tag Parser 11.5.1
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
|
The TagValue class wraps values of different types. More...
#include <tagvalue.h>
Public Member Functions | |
TagValue () | |
Constructs an empty TagValue. More... | |
TagValue (const char *text, std::size_t textSize, TagTextEncoding textEncoding=TagTextEncoding::Latin1, TagTextEncoding convertTo=TagTextEncoding::Unspecified) | |
Constructs a new TagValue holding a copy of the given text. More... | |
TagValue (const char *text, TagTextEncoding textEncoding=TagTextEncoding::Latin1, TagTextEncoding convertTo=TagTextEncoding::Unspecified) | |
Constructs a new TagValue holding a copy of the given text. More... | |
TagValue (const std::string &text, TagTextEncoding textEncoding=TagTextEncoding::Latin1, TagTextEncoding convertTo=TagTextEncoding::Unspecified) | |
Constructs a new TagValue holding a copy of the given text. More... | |
TagValue (std::string_view text, TagTextEncoding textEncoding=TagTextEncoding::Latin1, TagTextEncoding convertTo=TagTextEncoding::Unspecified) | |
Constructs a new TagValue holding a copy of the given text. More... | |
TagValue (int value) | |
Constructs a new TagValue holding the given integer value. More... | |
TagValue (std::uint64_t value) | |
Constructs a new TagValue holding the given unsigned integer value. More... | |
TagValue (const char *data, std::size_t length, TagDataType type=TagDataType::Undefined, TagTextEncoding encoding=TagTextEncoding::Latin1) | |
Constructs a new TagValue with a copy of the given data. More... | |
TagValue (std::unique_ptr< char[]> &&data, std::size_t length, TagDataType type=TagDataType::Binary, TagTextEncoding encoding=TagTextEncoding::Latin1) | |
Constructs a new TagValue holding with the given data. More... | |
TagValue (PositionInSet value) | |
Constructs a new TagValue holding a copy of the given PositionInSet value. More... | |
TagValue (CppUtilities::DateTime value) | |
Constructs a new TagValue holding a copy of the given DateTime value. More... | |
TagValue (const CppUtilities::DateTimeExpression &value) | |
Constructs a new TagValue holding a copy of the given DateTimeExpression value. More... | |
TagValue (CppUtilities::TimeSpan value) | |
Constructs a new TagValue holding a copy of the given TimeSpan value. More... | |
TagValue (const Popularity &value) | |
Constructs a new TagValue holding a copy of the given Popularity value. More... | |
TagValue (const TagValue &other) | |
Constructs a new TagValue holding a copy of the given TagValue instance. More... | |
TagValue (TagValue &&other)=default | |
~TagValue () | |
Destroys the TagValue. More... | |
TagValue & | operator= (const TagValue &other) |
Assigns the value of another TagValue to the current instance. More... | |
TagValue & | operator= (TagValue &&other)=default |
bool | operator== (const TagValue &other) const |
Returns whether both instances are equal. More... | |
bool | operator!= (const TagValue &other) const |
Returns whether both instances are not equal. More... | |
operator bool () const | |
Returns whether the value is not empty. More... | |
bool | isNull () const |
Returns whether no value is assigned at all. More... | |
bool | isEmpty () const |
Returns whether no or an empty value is assigned. More... | |
void | clearData () |
Clears the assigned data. More... | |
void | clearMetadata () |
Wipes assigned meta data. More... | |
void | clearDataAndMetadata () |
Wipes assigned data including meta data. More... | |
TagDataType | type () const |
Returns the type of the assigned value. More... | |
std::string | toString (TagTextEncoding encoding=TagTextEncoding::Unspecified) const |
Converts the value of the current TagValue object to its equivalent std::string representation. More... | |
std::string | toDisplayString () const |
Returns a "display string" for the specified value. More... | |
void | toString (std::string &result, TagTextEncoding encoding=TagTextEncoding::Unspecified) const |
Converts the value of the current TagValue object to its equivalent std::string representation. More... | |
std::u16string | toWString (TagTextEncoding encoding=TagTextEncoding::Unspecified) const |
Converts the value of the current TagValue object to its equivalent std::wstring representation. More... | |
void | toWString (std::u16string &result, TagTextEncoding encoding=TagTextEncoding::Unspecified) const |
Converts the value of the current TagValue object to its equivalent std::u16string representation. More... | |
std::int32_t | toInteger () const |
Converts the value of the current TagValue object to its equivalent integer representation. More... | |
std::uint64_t | toUnsignedInteger () const |
int | toStandardGenreIndex () const |
Converts the value of the current TagValue object to its equivalent standard genre index. More... | |
PositionInSet | toPositionInSet () const |
Converts the value of the current TagValue object to its equivalent PositionInSet representation. More... | |
CppUtilities::TimeSpan | toTimeSpan () const |
Converts the value of the current TagValue object to its equivalent TimeSpan representation. More... | |
CppUtilities::DateTime | toDateTime () const |
Converts the value of the current TagValue object to its equivalent DateTime representation (using the UTC timezone). More... | |
CppUtilities::DateTimeExpression | toDateTimeExpression () const |
Converts the value of the current TagValue object to its equivalent DateTimeExpression representation. More... | |
Popularity | toPopularity () const |
Converts the value of the current TagValue object to its equivalent Popularity representation. More... | |
Popularity | toScaledPopularity (TagType scale=TagType::Unspecified) const |
Converts the value of the current TagValue object to its equivalent Popularity representation using the specified scale. More... | |
std::size_t | dataSize () const |
Returns the size of the assigned value in bytes. More... | |
char * | dataPointer () |
Returns a pointer to the raw data assigned to the current instance. More... | |
const char * | dataPointer () const |
std::string_view | data () const |
Returns the currently assigned raw data. More... | |
const std::string & | description () const |
Returns the description. More... | |
void | setDescription (std::string_view value, TagTextEncoding encoding=TagTextEncoding::Latin1) |
Sets the description. More... | |
const std::string & | mimeType () const |
Returns the MIME type. More... | |
void | setMimeType (std::string_view mimeType) |
Sets the MIME type. More... | |
const Locale & | locale () const |
Returns the locale. More... | |
Locale & | locale () |
Returns the locale. More... | |
void | setLocale (const Locale &locale) |
Sets the setLocale. More... | |
TagValueFlags | flags () const |
Returns the flags. More... | |
void | setFlags (TagValueFlags flags) |
Sets the flags. More... | |
bool | isLabeledAsReadonly () const |
Returns an indication whether the value is labeled as read-only. More... | |
void | setReadonly (bool readOnly) |
Sets whether the TagValue is labeled as read-only. More... | |
const std::unordered_map< std::string, std::string > & | nativeData () const |
Holds tag format specific meta-data for that field which does not fit into any of the other meta-data properties. More... | |
std::unordered_map< std::string, std::string > & | nativeData () |
Holds tag format specific meta-data for that field which does not fit into any of the other meta-data properties. More... | |
TagTextEncoding | dataEncoding () const |
Returns the data encoding. More... | |
void | convertDataEncoding (TagTextEncoding encoding) |
Converts the currently assigned text value to the specified encoding. More... | |
void | convertDataEncodingForTag (const Tag *tag) |
Ensures the encoding of the currently assigned text value is supported by the specified tag. More... | |
TagTextEncoding | descriptionEncoding () const |
Returns the description encoding. More... | |
void | convertDescriptionEncoding (TagTextEncoding encoding) |
Converts the assigned description to use the specified encoding. More... | |
void | assignText (const char *text, std::size_t textSize, TagTextEncoding textEncoding=TagTextEncoding::Latin1, TagTextEncoding convertTo=TagTextEncoding::Unspecified) |
Assigns a copy of the given text. More... | |
void | assignText (const std::string &text, TagTextEncoding textEncoding=TagTextEncoding::Latin1, TagTextEncoding convertTo=TagTextEncoding::Unspecified) |
Assigns a copy of the given text. More... | |
void | assignText (std::string_view text, TagTextEncoding textEncoding=TagTextEncoding::Latin1, TagTextEncoding convertTo=TagTextEncoding::Unspecified) |
Assigns a copy of the given text. More... | |
void | assignInteger (int value) |
Assigns the given integer value. More... | |
void | assignUnsignedInteger (std::uint64_t value) |
Assigns the given unsigned integer value. More... | |
void | assignStandardGenreIndex (int index) |
Assigns the given standard genre index to be assigned. More... | |
void | assignData (const char *data, std::size_t length, TagDataType type=TagDataType::Binary, TagTextEncoding encoding=TagTextEncoding::Latin1) |
void | assignData (std::unique_ptr< char[]> &&data, std::size_t length, TagDataType type=TagDataType::Binary, TagTextEncoding encoding=TagTextEncoding::Latin1) |
void | assignPosition (PositionInSet value) |
Assigns the given PositionInSet value. More... | |
void | assignTimeSpan (CppUtilities::TimeSpan value) |
Assigns the given TimeSpan value. More... | |
void | assignDateTime (CppUtilities::DateTime value) |
Assigns the given DateTime value. More... | |
void | assignDateTimeExpression (const CppUtilities::DateTimeExpression &value) |
Assigns the given DateTimeExpression value. More... | |
void | assignPopularity (const Popularity &value) |
Assigns the specified popularity value. More... | |
bool | compareTo (const TagValue &other, TagValueComparisionFlags options=TagValueComparisionFlags::None) const |
Returns whether both instances are equal. More... | |
bool | compareData (const TagValue &other, bool ignoreCase=false) const |
Returns whether the raw data of the current instance equals the raw data of other. More... | |
Static Public Member Functions | |
static const TagValue & | empty () |
Returns a default-constructed TagValue where TagValue::isNull() and TagValue::isEmpty() both return true. More... | |
static void | stripBom (const char *&text, std::size_t &length, TagTextEncoding encoding) |
Strips the byte order mask from the specified text. More... | |
static void | ensureHostByteOrder (std::u16string &u16str, TagTextEncoding currentEncoding) |
Ensures the byte-order of the specified UTF-16 string matches the byte-order of the machine. More... | |
template<typename ContainerType , CppUtilities::Traits::EnableIf< CppUtilities::Traits::IsIteratable< ContainerType >, std::is_same< typename std::add_const< typename std::remove_pointer< typename ContainerType::value_type >::type >::type, const TagValue > > * = nullptr> | |
static std::vector< std::string > | toStrings (const ContainerType &values, TagTextEncoding encoding=TagTextEncoding::Utf8) |
Converts the specified values to string using the specified encoding. More... | |
static bool | compareData (const std::string &data1, const std::string &data2, bool ignoreCase=false) |
Returns whether 2 data buffers are equal. More... | |
static bool | compareData (const char *data1, std::size_t size1, const char *data2, std::size_t size2, bool ignoreCase=false) |
Returns whether 2 data buffers are equal. More... | |
The TagValue class wraps values of different types.
It is meant to be assigned to a tag field.
For a list of supported types see TagParser::TagDataType.
When constructing a TagValue choose the type which suites the value you want to store best. If the tag format uses a different type the serializer will take care of the neccassary conversion (eg. convert an integer to a string).
When consuming a TagValue read from a tag one should not expect that a particular type is used. The type depends on what the particular tag format uses. However, the conversion functions provided by the TagValue class take care of neccassary conversions, eg. TagValue::toInteger() will attempt to convert a string to a number (an possibly throw a ConversionException on failure).
Values of the type TagDataType::Text can be differently encoded.
Values of the type TagDataType::Popularity might use different rating scales depending on the tag format.
Values of the type TagDataType::Text are not supposed to contain Byte-Order-Marks. Before assigning text which might be prepended by a Byte-Order-Mark the helper function TagValue::stripBom() can be used.
Definition at line 143 of file tagvalue.h.
|
inlineexplicit |
Constructs an empty TagValue.
Definition at line 268 of file tagvalue.h.
|
inlineexplicit |
Constructs a new TagValue holding a copy of the given text.
text | Specifies the text to be assigned. |
textSize | Specifies the size of text. (The actual number of bytes, not the number of characters.) |
textEncoding | Specifies the encoding of the given text. |
convertTo | Specifies the encoding to convert text to; set to TagTextEncoding::Unspecified to use textEncoding without any character set conversions. |
Throws | a ConversionException if the conversion the specified character set fails. |
Definition at line 294 of file tagvalue.h.
|
inlineexplicit |
Constructs a new TagValue holding a copy of the given text.
text | Specifies the text to be assigned. This string must be null-terminated. |
textEncoding | Specifies the encoding of the given text. |
convertTo | Specifies the encoding to convert text to; set to TagTextEncoding::Unspecified to use textEncoding without any character set conversions. |
Throws | a ConversionException if the conversion the specified character set fails. |
Definition at line 310 of file tagvalue.h.
|
inlineexplicit |
Constructs a new TagValue holding a copy of the given text.
text | Specifies the text to be assigned. |
textEncoding | Specifies the encoding of the given text. |
convertTo | Specifies the encoding to convert text to; set to TagTextEncoding::Unspecified to use textEncoding without any character set conversions. |
Throws | a ConversionException if the conversion the specified character set fails. |
Definition at line 324 of file tagvalue.h.
|
inlineexplicit |
Constructs a new TagValue holding a copy of the given text.
text | Specifies the text to be assigned. |
textEncoding | Specifies the encoding of the given text. |
convertTo | Specifies the encoding to convert text to; set to TagTextEncoding::Unspecified to use textEncoding without any character set conversions. |
Throws | a ConversionException if the conversion the specified character set fails. |
Definition at line 340 of file tagvalue.h.
|
inlineexplicit |
Constructs a new TagValue holding the given integer value.
Definition at line 350 of file tagvalue.h.
|
inlineexplicit |
Constructs a new TagValue holding the given unsigned integer value.
Definition at line 358 of file tagvalue.h.
|
inlineexplicit |
Constructs a new TagValue with a copy of the given data.
data | Specifies a pointer to the data. |
length | Specifies the length of the data. |
type | Specifies the type of the data as TagDataType. |
encoding | Specifies the encoding of the data as TagTextEncoding. The encoding will only be considered if a text is assigned. |
Definition at line 373 of file tagvalue.h.
|
inlineexplicit |
Constructs a new TagValue holding with the given data.
The data is not copied. It is moved.
data | Specifies a pointer to the data. |
length | Specifies the length of the data. |
type | Specifies the type of the data as TagDataType. |
encoding | Specifies the encoding of the data as TagTextEncoding. The encoding will only be considered if a text is assigned. |
Definition at line 401 of file tagvalue.h.
|
inlineexplicit |
Constructs a new TagValue holding a copy of the given PositionInSet value.
Definition at line 416 of file tagvalue.h.
|
inlineexplicit |
Constructs a new TagValue holding a copy of the given DateTime value.
Definition at line 424 of file tagvalue.h.
|
inlineexplicit |
Constructs a new TagValue holding a copy of the given DateTimeExpression value.
Definition at line 432 of file tagvalue.h.
|
inlineexplicit |
Constructs a new TagValue holding a copy of the given TimeSpan value.
Definition at line 440 of file tagvalue.h.
|
inlineexplicit |
Constructs a new TagValue holding a copy of the given Popularity value.
Definition at line 448 of file tagvalue.h.
TagParser::TagValue::TagValue | ( | const TagValue & | other | ) |
Constructs a new TagValue holding a copy of the given TagValue instance.
other | Specifies another TagValue instance. |
Definition at line 132 of file tagvalue.cpp.
|
default |
|
inline |
Destroys the TagValue.
Definition at line 280 of file tagvalue.h.
void TagParser::TagValue::assignData | ( | const char * | data, |
std::size_t | length, | ||
TagDataType | type = TagDataType::Binary , |
||
TagTextEncoding | encoding = TagTextEncoding::Latin1 |
||
) |
void TagParser::TagValue::assignData | ( | std::unique_ptr< char[]> && | data, |
std::size_t | length, | ||
TagDataType | type = TagDataType::Binary , |
||
TagTextEncoding | encoding = TagTextEncoding::Latin1 |
||
) |
|
inline |
Assigns the given DateTime value.
Definition at line 533 of file tagvalue.h.
|
inline |
Assigns the given DateTimeExpression value.
Definition at line 541 of file tagvalue.h.
void TagParser::TagValue::assignInteger | ( | int | value | ) |
Assigns the given integer value.
value | Specifies the integer to be assigned. |
Definition at line 1117 of file tagvalue.cpp.
void TagParser::TagValue::assignPopularity | ( | const Popularity & | value | ) |
Assigns the specified popularity value.
Definition at line 1188 of file tagvalue.cpp.
|
inline |
Assigns the given PositionInSet value.
Definition at line 512 of file tagvalue.h.
|
inline |
Assigns the given standard genre index to be assigned.
index | Specifies the index to be assigned. |
Definition at line 551 of file tagvalue.h.
void TagParser::TagValue::assignText | ( | const char * | text, |
std::size_t | textSize, | ||
TagTextEncoding | textEncoding = TagTextEncoding::Latin1 , |
||
TagTextEncoding | convertTo = TagTextEncoding::Unspecified |
||
) |
Assigns a copy of the given text.
text | Specifies the text to be assigned. |
textSize | Specifies the size of text. (The actual number of bytes, not the number of characters.) |
textEncoding | Specifies the encoding of the given text. |
convertTo | Specifies the encoding to convert text to; set to TagTextEncoding::Unspecified to use textEncoding without any character set conversions. |
Throws | a ConversionException if the conversion the specified character set fails. |
Definition at line 1066 of file tagvalue.cpp.
|
inline |
Assigns a copy of the given text.
text | Specifies the text to be assigned. |
textEncoding | Specifies the encoding of the given text. |
convertTo | Specifies the encoding to convert text to; set to TagTextEncoding::Unspecified to use textEncoding without any character set conversions. |
Throws | a ConversionException if the conversion the specified character set fails. |
Definition at line 490 of file tagvalue.h.
|
inline |
Assigns a copy of the given text.
text | Specifies the text to be assigned. |
textEncoding | Specifies the encoding of the given text. |
convertTo | Specifies the encoding to convert text to; set to TagTextEncoding::Unspecified to use textEncoding without any character set conversions. |
Throws | a ConversionException if the conversion the specified character set fails. |
Definition at line 504 of file tagvalue.h.
|
inline |
Assigns the given TimeSpan value.
Definition at line 525 of file tagvalue.h.
void TagParser::TagValue::assignUnsignedInteger | ( | std::uint64_t | value | ) |
Assigns the given unsigned integer value.
value | Specifies the unsigned integer to be assigned. |
Definition at line 1130 of file tagvalue.cpp.
|
inline |
Clears the assigned data.
Definition at line 628 of file tagvalue.h.
|
inline |
Wipes assigned data including meta data.
Definition at line 639 of file tagvalue.h.
void TagParser::TagValue::clearMetadata | ( | ) |
Wipes assigned meta data.
Definition at line 361 of file tagvalue.cpp.
|
static |
Returns whether 2 data buffers are equal.
In case one of the sizes is zero, no pointer is dereferenced.
Definition at line 1259 of file tagvalue.cpp.
|
inlinestatic |
Returns whether 2 data buffers are equal.
Definition at line 889 of file tagvalue.h.
|
inline |
Returns whether the raw data of the current instance equals the raw data of other.
Definition at line 881 of file tagvalue.h.
bool TagParser::TagValue::compareTo | ( | const TagValue & | other, |
TagValueComparisionFlags | options = TagValueComparisionFlags::None |
||
) | const |
Returns whether both instances are equal.
Meta-data like description and MIME-type is taken into account as well.
Definition at line 215 of file tagvalue.cpp.
void TagParser::TagValue::convertDataEncoding | ( | TagTextEncoding | encoding | ) |
Converts the currently assigned text value to the specified encoding.
Throws | CppUtilities::ConversionException() if the conversion fails. |
Definition at line 778 of file tagvalue.cpp.
void TagParser::TagValue::convertDataEncodingForTag | ( | const Tag * | tag | ) |
Ensures the encoding of the currently assigned text value is supported by the specified tag.
Definition at line 820 of file tagvalue.cpp.
void TagParser::TagValue::convertDescriptionEncoding | ( | TagTextEncoding | encoding | ) |
Converts the assigned description to use the specified encoding.
Definition at line 830 of file tagvalue.cpp.
|
inline |
Returns the currently assigned raw data.
Definition at line 673 of file tagvalue.h.
|
inline |
Returns the data encoding.
Definition at line 845 of file tagvalue.h.
|
inline |
Returns a pointer to the raw data assigned to the current instance.
Definition at line 660 of file tagvalue.h.
|
inline |
Definition at line 665 of file tagvalue.h.
|
inline |
Returns the size of the assigned value in bytes.
Definition at line 649 of file tagvalue.h.
|
inline |
Returns the description.
Definition at line 688 of file tagvalue.h.
|
inline |
Returns the description encoding.
Definition at line 855 of file tagvalue.h.
|
static |
Returns a default-constructed TagValue where TagValue::isNull() and TagValue::isEmpty() both return true.
Definition at line 1289 of file tagvalue.cpp.
|
static |
Ensures the byte-order of the specified UTF-16 string matches the byte-order of the machine.
Definition at line 1239 of file tagvalue.cpp.
|
inline |
|
inline |
Returns whether no or an empty value is assigned.
Definition at line 617 of file tagvalue.h.
|
inline |
Returns an indication whether the value is labeled as read-only.
Definition at line 803 of file tagvalue.h.
|
inline |
Returns whether no value is assigned at all.
Definition at line 604 of file tagvalue.h.
|
inline |
Returns the locale.
Definition at line 757 of file tagvalue.h.
|
inline |
Returns the locale.
Definition at line 743 of file tagvalue.h.
|
inline |
Returns the MIME type.
Definition at line 717 of file tagvalue.h.
|
inline |
Holds tag format specific meta-data for that field which does not fit into any of the other meta-data properties.
Definition at line 835 of file tagvalue.h.
|
inline |
Holds tag format specific meta-data for that field which does not fit into any of the other meta-data properties.
Definition at line 826 of file tagvalue.h.
|
inline |
Returns whether the value is not empty.
Definition at line 476 of file tagvalue.h.
|
inline |
Returns whether both instances are not equal.
Definition at line 467 of file tagvalue.h.
Assigns the value of another TagValue to the current instance.
Definition at line 151 of file tagvalue.cpp.
|
inline |
Returns whether both instances are equal.
Definition at line 458 of file tagvalue.h.
|
inline |
Sets the description.
value | Specifies the description. |
encoding | Specifies the encoding used to provide the description. |
Definition at line 704 of file tagvalue.h.
|
inline |
|
inline |
Sets the setLocale.
Definition at line 771 of file tagvalue.h.
|
inline |
Sets the MIME type.
Definition at line 729 of file tagvalue.h.
|
inline |
Sets whether the TagValue is labeled as read-only.
Definition at line 817 of file tagvalue.h.
|
static |
Strips the byte order mask from the specified text.
Definition at line 1210 of file tagvalue.cpp.
DateTime TagParser::TagValue::toDateTime | ( | ) | const |
Converts the value of the current TagValue object to its equivalent DateTime representation (using the UTC timezone).
Throws | ConversionException on failure. |
Definition at line 624 of file tagvalue.cpp.
CppUtilities::DateTimeExpression TagParser::TagValue::toDateTimeExpression | ( | ) | const |
Converts the value of the current TagValue object to its equivalent DateTimeExpression representation.
Throws | ConversionException on failure. |
Definition at line 660 of file tagvalue.cpp.
std::string TagParser::TagValue::toDisplayString | ( | ) | const |
Returns a "display string" for the specified value.
Definition at line 380 of file tagvalue.cpp.
std::int32_t TagParser::TagValue::toInteger | ( | ) | const |
Converts the value of the current TagValue object to its equivalent integer representation.
Throws | ConversionException on failure. |
Definition at line 401 of file tagvalue.cpp.
Popularity TagParser::TagValue::toPopularity | ( | ) | const |
Converts the value of the current TagValue object to its equivalent Popularity representation.
Throws | ConversionException on failure. |
Definition at line 702 of file tagvalue.cpp.
PositionInSet TagParser::TagValue::toPositionInSet | ( | ) | const |
Converts the value of the current TagValue object to its equivalent PositionInSet representation.
Throws | ConversionException on failure. |
Definition at line 536 of file tagvalue.cpp.
Popularity TagParser::TagValue::toScaledPopularity | ( | TagType | scale = TagType::Unspecified | ) | const |
Converts the value of the current TagValue object to its equivalent Popularity representation using the specified scale.
Throws | ConversionException on failure, e.g. when Popularity::scaleTo() fails. |
Definition at line 758 of file tagvalue.cpp.
int TagParser::TagValue::toStandardGenreIndex | ( | ) | const |
Converts the value of the current TagValue object to its equivalent standard genre index.
Throws | ConversionException on failure. |
Definition at line 486 of file tagvalue.cpp.
void TagParser::TagValue::toString | ( | std::string & | result, |
TagTextEncoding | encoding = TagTextEncoding::Unspecified |
||
) | const |
Converts the value of the current TagValue object to its equivalent std::string representation.
result | Specifies the string to store the result. |
encoding | Specifies the encoding to to be used; set to TagTextEncoding::Unspecified to use the present encoding without any character set conversion. |
Throws | ConversionException on failure. |
Definition at line 881 of file tagvalue.cpp.
|
inline |
Converts the value of the current TagValue object to its equivalent std::string representation.
result | Specifies the string to store the result. |
encoding | Specifies the encoding to to be used; set to TagTextEncoding::Unspecified to use the present encoding without any character set conversion. |
Throws | ConversionException on failure. |
Definition at line 577 of file tagvalue.h.
|
static |
Converts the specified values to string using the specified encoding.
Throws | ConversionException on failure. |
Definition at line 868 of file tagvalue.h.
TimeSpan TagParser::TagValue::toTimeSpan | ( | ) | const |
Converts the value of the current TagValue object to its equivalent TimeSpan representation.
Throws | ConversionException on failure. |
Definition at line 585 of file tagvalue.cpp.
std::uint64_t TagParser::TagValue::toUnsignedInteger | ( | ) | const |
Definition at line 443 of file tagvalue.cpp.
void TagParser::TagValue::toWString | ( | std::u16string & | result, |
TagTextEncoding | encoding = TagTextEncoding::Unspecified |
||
) | const |
Converts the value of the current TagValue object to its equivalent std::u16string representation.
Throws | ConversionException on failure. |
Definition at line 973 of file tagvalue.cpp.
|
inline |
Converts the value of the current TagValue object to its equivalent std::wstring representation.
Throws | ConversionException on failure. |
Definition at line 590 of file tagvalue.h.
|
inline |
Returns the type of the assigned value.
Definition at line 560 of file tagvalue.h.