|
TagLib
2.2.1
|
A generic, implicitly shared map. More...
#include <tmap.h>
Public Member Functions | |
| Map () | |
| Map (const Map< Key, T > &m) | |
| Map (std::initializer_list< std::pair< const Key, T > > init) | |
| ~Map () | |
| Iterator | begin () |
| ConstIterator | begin () const |
| ConstIterator | cbegin () const |
| Iterator | end () |
| ConstIterator | end () const |
| ConstIterator | cend () const |
| Map< Key, T > & | insert (const Key &key, const T &value) |
| Map< Key, T > & | clear () |
| unsigned int | size () const |
| bool | isEmpty () const |
| Iterator | find (const Key &key) |
| ConstIterator | find (const Key &key) const |
| bool | contains (const Key &key) const |
| Map< Key, T > & | erase (Iterator it) |
| Map< Key, T > & | erase (const Key &key) |
| T | value (const Key &key, const T &defaultValue=T()) const |
| const T & | operator[] (const Key &key) const |
| T & | operator[] (const Key &key) |
| Map< Key, T > & | operator= (const Map< Key, T > &m) |
| Map< Key, T > & | operator= (std::initializer_list< std::pair< const Key, T > > init) |
| void | swap (Map< Key, T > &m) noexcept |
| bool | operator== (const Map< Key, T > &m) const |
| bool | operator!= (const Map< Key, T > &m) const |
Protected Member Functions | |
| void | detach () |
A generic, implicitly shared map.
This implements a standard map container that associates a key with a value and has fast key-based lookups. This map is also implicitly shared making it suitable for pass-by-value usage.
| TagLib::Map< Key, T >::Map | ( | ) |
Constructs an empty Map.
| TagLib::Map< Key, T >::Map | ( | const Map< Key, T > & | m | ) |
Make a shallow, implicitly shared, copy of m. Because this is implicitly shared, this method is lightweight and suitable for pass-by-value usage.
| TagLib::Map< Key, T >::Map | ( | std::initializer_list< std::pair< const Key, T > > | init | ) |
Constructs a Map with the contents of the braced initializer list.
| TagLib::Map< Key, T >::~Map | ( | ) |
Destroys this instance of the Map.
| Iterator TagLib::Map< Key, T >::begin | ( | ) |
Returns an STL style iterator to the beginning of the map. See std::map::iterator for the semantics.
| ConstIterator TagLib::Map< Key, T >::begin | ( | ) | const |
Returns an STL style iterator to the beginning of the map. See std::map::const_iterator for the semantics.
| ConstIterator TagLib::Map< Key, T >::cbegin | ( | ) | const |
Returns an STL style iterator to the beginning of the map. See std::map::const_iterator for the semantics.
| ConstIterator TagLib::Map< Key, T >::cend | ( | ) | const |
Returns an STL style iterator to the end of the map. See std::map::const_iterator for the semantics.
| Map< Key, T > & TagLib::Map< Key, T >::clear | ( | ) |
Removes all of the elements from the map. This however will not delete pointers if the mapped type is a pointer type.
| bool TagLib::Map< Key, T >::contains | ( | const Key & | key | ) | const |
Returns true if the map contains an item for key.
|
protected |
If this Map is being shared via implicit sharing, do a deep copy of the data and separate from the shared members. This should be called by all non-const subclass members without Iterator parameters.
| Iterator TagLib::Map< Key, T >::end | ( | ) |
Returns an STL style iterator to the end of the map. See std::map::iterator for the semantics.
| ConstIterator TagLib::Map< Key, T >::end | ( | ) | const |
Returns an STL style iterator to the end of the map. See std::map::const_iterator for the semantics.
| Map< Key, T > & TagLib::Map< Key, T >::erase | ( | const Key & | key | ) |
Erase the item with key from the map.
| Map< Key, T > & TagLib::Map< Key, T >::erase | ( | Iterator | it | ) |
Erase the item at it from the map.
| Iterator TagLib::Map< Key, T >::find | ( | const Key & | key | ) |
Find the first occurrence of key.
| ConstIterator TagLib::Map< Key, T >::find | ( | const Key & | key | ) | const |
Find the first occurrence of key.
| Map< Key, T > & TagLib::Map< Key, T >::insert | ( | const Key & | key, |
| const T & | value ) |
Inserts value under key in the map. If a value for key already exists it will be overwritten.
| bool TagLib::Map< Key, T >::isEmpty | ( | ) | const |
Returns true if the map is empty.
| bool TagLib::Map< Key, T >::operator!= | ( | const Map< Key, T > & | m | ) | const |
Compares this map with m and returns true if the maps differ.
| Map< Key, T > & TagLib::Map< Key, T >::operator= | ( | const Map< Key, T > & | m | ) |
Make a shallow, implicitly shared, copy of m. Because this is implicitly shared, this method is lightweight and suitable for pass-by-value usage.
| Map< Key, T > & TagLib::Map< Key, T >::operator= | ( | std::initializer_list< std::pair< const Key, T > > | init | ) |
Replace the contents of the map with those of the braced initializer list
| bool TagLib::Map< Key, T >::operator== | ( | const Map< Key, T > & | m | ) | const |
Compares this map with m and returns true if all of the elements are the same.
| T & TagLib::Map< Key, T >::operator[] | ( | const Key & | key | ) |
Returns a reference to the value associated with key.
| const T & TagLib::Map< Key, T >::operator[] | ( | const Key & | key | ) | const |
Returns a reference to the value associated with key.
| unsigned int TagLib::Map< Key, T >::size | ( | ) | const |
The number of elements in the map.
|
noexcept |
Exchanges the content of this map with the content of m.
| T TagLib::Map< Key, T >::value | ( | const Key & | key, |
| const T & | defaultValue = T() ) const |
Returns the value associated with key.
If the map does not contain key, it returns defaultValue. If no defaultValue is specified, it returns a default-constructed value.