An implicitly shared discriminated union. More...
#include <tvariant.h>
Public Types | |
enum | Type { Void , Bool , Int , UInt , LongLong , ULongLong , Double , String , StringList , ByteVector , ByteVectorList , VariantList , VariantMap } |
Friends | |
TAGLIB_EXPORT std::ostream & | operator<< (std::ostream &s, const TagLib::Variant &v) |
Related Symbols | |
(Note that these are not member symbols.) | |
TAGLIB_EXPORT std::ostream & | operator<< (std::ostream &s, const TagLib::Variant &v) |
An implicitly shared discriminated union.
This is an implicitly shared discriminated union.
The use of implicit sharing means that copying a variant is cheap. These Variant objects are immutable (have only const methods).
TagLib::Variant::Variant | ( | ) |
Constructs an empty Variant.
TagLib::Variant::Variant | ( | int | val | ) |
TagLib::Variant::Variant | ( | bool | val | ) |
TagLib::Variant::Variant | ( | double | val | ) |
TagLib::Variant::Variant | ( | const TagLib::String & | val | ) |
TagLib::Variant::Variant | ( | const TagLib::StringList & | val | ) |
TagLib::Variant::Variant | ( | const TagLib::ByteVector & | val | ) |
TagLib::Variant::Variant | ( | const TagLib::ByteVectorList & | val | ) |
TagLib::Variant::Variant | ( | const TagLib::List< TagLib::Variant > & | val | ) |
TagLib::Variant::Variant | ( | const TagLib::Map< TagLib::String, TagLib::Variant > & | val | ) |
Make a shallow, implicitly shared, copy of v. Because this is implicitly shared, this method is lightweight and suitable for pass-by-value usage.
TagLib::Variant::~Variant | ( | ) |
Destroys this Variant instance.
Returns true
if the Variant and v differ in type or value.
Performs a shallow, implicitly shared, copy of v, overwriting the Variant's current data.
Returns true
if the Variant and v are of the same type and contain the same value.
TagLib::ByteVector TagLib::Variant::toByteVector | ( | bool * | ok = nullptr | ) | const |
TagLib::ByteVectorList TagLib::Variant::toByteVectorList | ( | bool * | ok = nullptr | ) | const |
TagLib::List< TagLib::Variant > TagLib::Variant::toList | ( | bool * | ok = nullptr | ) | const |
TagLib::Map< TagLib::String, TagLib::Variant > TagLib::Variant::toMap | ( | bool * | ok = nullptr | ) | const |
TagLib::String TagLib::Variant::toString | ( | bool * | ok = nullptr | ) | const |
TagLib::StringList TagLib::Variant::toStringList | ( | bool * | ok = nullptr | ) | const |
template TAGLIB_EXPORT VariantMap TagLib::Variant::value | ( | bool * | ok = nullptr | ) | const |
|
related |
Send the variant to an output stream.
|
friend |