TagLib
1.13.1
|
A map for format-independent <key,valuelist> tag representations. More...
#include <tpropertymap.h>
Public Types | |
typedef SimplePropertyMap::Iterator | Iterator |
typedef SimplePropertyMap::ConstIterator | ConstIterator |
Public Member Functions | |
PropertyMap () | |
PropertyMap (const PropertyMap &m) | |
PropertyMap (const SimplePropertyMap &m) | |
virtual | ~PropertyMap () |
bool | insert (const String &key, const StringList &values) |
bool | replace (const String &key, const StringList &values) |
Iterator | find (const String &key) |
ConstIterator | find (const String &key) const |
bool | contains (const String &key) const |
bool | contains (const PropertyMap &other) const |
PropertyMap & | erase (const String &key) |
PropertyMap & | erase (const PropertyMap &other) |
PropertyMap & | merge (const PropertyMap &other) |
StringList | value (const String &key, const StringList &defaultValue=StringList()) const |
const StringList & | operator[] (const String &key) const |
StringList & | operator[] (const String &key) |
bool | operator== (const PropertyMap &other) const |
bool | operator!= (const PropertyMap &other) const |
StringList & | unsupportedData () |
const StringList & | unsupportedData () const |
void | removeEmpty () |
String | toString () const |
![]() | |
Map () | |
Map (const Map< String, StringList > &m) | |
virtual | ~Map () |
Iterator | begin () |
ConstIterator | begin () const |
Iterator | end () |
ConstIterator | end () const |
Map< String, StringList > & | insert (const String &key, const StringList &value) |
Map< String, StringList > & | clear () |
unsigned int | size () const |
bool | isEmpty () const |
Iterator | find (const String &key) |
ConstIterator | find (const String &key) const |
bool | contains (const String &key) const |
Map< String, StringList > & | erase (Iterator it) |
Map< String, StringList > & | erase (const String &key) |
StringList | value (const String &key, const StringList &defaultValue=StringList()) const |
const StringList & | operator[] (const String &key) const |
StringList & | operator[] (const String &key) |
Map< String, StringList > & | operator= (const Map< String, StringList > &m) |
void | swap (Map< String, StringList > &m) |
Map () | |
Map (const Map< String, StringList > &m) | |
virtual | ~Map () |
Iterator | begin () |
ConstIterator | begin () const |
Iterator | end () |
ConstIterator | end () const |
Map< String, StringList > & | insert (const String &key, const StringList &value) |
Map< String, StringList > & | clear () |
unsigned int | size () const |
bool | isEmpty () const |
Iterator | find (const String &key) |
ConstIterator | find (const String &key) const |
bool | contains (const String &key) const |
Map< String, StringList > & | erase (Iterator it) |
Map< String, StringList > & | erase (const String &key) |
StringList | value (const String &key, const StringList &defaultValue=StringList()) const |
const StringList & | operator[] (const String &key) const |
StringList & | operator[] (const String &key) |
Map< String, StringList > & | operator= (const Map< String, StringList > &m) |
void | swap (Map< String, StringList > &m) |
Additional Inherited Members | |
![]() | |
void | detach () |
void | detach () |
A map for format-independent <key,valuelist> tag representations.
This map implements a generic representation of textual audio metadata ("tags") realized as pairs of a case-insensitive key and a nonempty list of corresponding values, each value being an arbitrary unicode String.
Note that most metadata formats pose additional conditions on the tag keys. The most popular ones (Vorbis, APE, ID3v2) should support all ASCII only words of length between 2 and 16.
This class can contain any tags, but here is a list of "well-known" tags that you might want to use:
Basic tags:
Sort names:
Credits:
Other tags:
MusicBrainz identifiers:
typedef SimplePropertyMap::ConstIterator TagLib::PropertyMap::ConstIterator |
typedef SimplePropertyMap::Iterator TagLib::PropertyMap::Iterator |
TagLib::PropertyMap::PropertyMap | ( | ) |
Referenced by contains(), erase(), erase(), merge(), operator!=(), operator==(), and PropertyMap().
TagLib::PropertyMap::PropertyMap | ( | const PropertyMap & | m | ) |
References PropertyMap().
TagLib::PropertyMap::PropertyMap | ( | const SimplePropertyMap & | m | ) |
Creates a PropertyMap initialized from a SimplePropertyMap. Copies all entries from m that have valid keys. Invalid keys will be appended to the unsupportedData() list.
|
virtual |
bool TagLib::PropertyMap::contains | ( | const PropertyMap & | other | ) | const |
Returns true if this map contains all keys of other and the values coincide for that keys. Does not take the unsupportedData list into account.
References PropertyMap().
bool TagLib::PropertyMap::contains | ( | const String & | key | ) | const |
Returns true if the map contains values for key.
PropertyMap & TagLib::PropertyMap::erase | ( | const PropertyMap & | other | ) |
Erases from this map all keys that appear in other.
References PropertyMap().
PropertyMap & TagLib::PropertyMap::erase | ( | const String & | key | ) |
Erase the key and its values from the map.
References PropertyMap().
ConstIterator TagLib::PropertyMap::find | ( | const String & | key | ) | const |
Find the first occurrence of key.
bool TagLib::PropertyMap::insert | ( | const String & | key, |
const StringList & | values ) |
Inserts values under key in the map. If key already exists, then values will be appended to the existing StringList. The returned value indicates success, i.e. whether key is a valid key.
PropertyMap & TagLib::PropertyMap::merge | ( | const PropertyMap & | other | ) |
Merge the contents of other into this PropertyMap. If a key is contained in both maps, the values of the second are appended to that of the first. The unsupportedData() lists are concatenated as well.
References PropertyMap().
bool TagLib::PropertyMap::operator!= | ( | const PropertyMap & | other | ) | const |
Returns false if and only other has the same contents as this map.
References PropertyMap().
bool TagLib::PropertyMap::operator== | ( | const PropertyMap & | other | ) | const |
Returns true if and only if other has the same contents as this map.
References PropertyMap().
StringList & TagLib::PropertyMap::operator[] | ( | const String & | key | ) |
Returns a reference to the value associated with key.
const StringList & TagLib::PropertyMap::operator[] | ( | const String & | key | ) | const |
Returns a reference to the value associated with key.
void TagLib::PropertyMap::removeEmpty | ( | ) |
Removes all entries which have an empty value list.
bool TagLib::PropertyMap::replace | ( | const String & | key, |
const StringList & | values ) |
Replaces any existing values for key with the given values, and simply insert them if key did not exist before. The returned value indicates success, i.e. whether key is a valid key.
String TagLib::PropertyMap::toString | ( | ) | const |
StringList & TagLib::PropertyMap::unsupportedData | ( | ) |
If a PropertyMap is read from a File object using File::properties(), the StringList returned from this function will represent metadata that could not be parsed into the PropertyMap representation. This could be e.g. binary data, unknown ID3 frames, etc. You can remove items from the returned list, which tells TagLib to remove those unsupported elements if you call File::setProperties() with the same PropertyMap as argument.
const StringList & TagLib::PropertyMap::unsupportedData | ( | ) | const |
StringList TagLib::PropertyMap::value | ( | const String & | key, |
const StringList & | defaultValue = StringList() ) const |
Returns the value associated with key.
If the map does not contain key, it returns defaultValue. If no defaultValue is specified, it returns an empty string list.