TagLib::Map Class Reference

A generic, implicitly shared map. More...

#include <tmap.h>

List of all members.

Public Member Functions

 Map ()
 Map (const Map< Key, T > &m)
virtual ~Map ()
Iterator begin ()
ConstIterator begin () const
Iterator end ()
ConstIterator end () const
Map< Key, T > & insert (const Key &key, const T &value)
Map< Key, T > & clear ()
uint 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)
const T & operator[] (const Key &key) const
T & operator[] (const Key &key)
Map< Key, T > & operator= (const Map< Key, T > &m)

Protected Member Functions

void detach ()

Detailed Description

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.


Constructor & Destructor Documentation

TagLib::Map::Map ( )

Constructs an empty Map.

TagLib::Map::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.

virtual TagLib::Map::~Map ( ) [virtual]

Destroys this instance of the Map.


Member Function Documentation

Iterator TagLib::Map::begin ( )

Returns an STL style iterator to the beginning of the map. See std::map::iterator for the semantics.

ConstIterator TagLib::Map::begin ( ) const

Returns an STL style iterator to the beginning of the map. See std::map::const_iterator for the semantics.

Map<Key, T>& TagLib::Map::clear ( )

Removes all of the elements from elements from the map. This however will not delete pointers if the mapped type is a pointer type.

bool TagLib::Map::contains ( const Key &  key) const

Returns true if the map contains an instance of key.

void TagLib::Map::detach ( ) [protected]
Iterator TagLib::Map::end ( )

Returns an STL style iterator to the end of the map. See std::map::iterator for the semantics.

ConstIterator TagLib::Map::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::erase ( Iterator  it)

Erase the item at it from the list.

Map<Key, T>& TagLib::Map::erase ( const Key &  key)

Erase the item with key from the list.

Iterator TagLib::Map::find ( const Key &  key)

Find the first occurrence of key.

ConstIterator TagLib::Map::find ( const Key &  key) const

Find the first occurrence of key.

Map<Key, T>& TagLib::Map::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::isEmpty ( ) const

Returns true if the map is empty.

See also:
size()
Map<Key, T>& TagLib::Map::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.

const T& TagLib::Map::operator[] ( const Key &  key) const

Returns a reference to the value associated with key.

Note:
This has undefined behavior if the key is not present in the map.
T& TagLib::Map::operator[] ( const Key &  key)

Returns a reference to the value associated with key.

Note:
This has undefined behavior if the key is not present in the map.
uint TagLib::Map::size ( ) const

The number of elements in the map.

See also:
isEmpty()

The documentation for this class was generated from the following file: