Elm  1.0
ELM is a library providing generic data structures, OS-independent interface, plugins and XML.
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
elm::avl::Map< K, T, C > Class Template Reference

#include <elm/avl/Map.h>

Classes

class  Iterator
 
class  KeyIterator
 
class  MutableIterator
 
class  PairIterator
 

Public Member Functions

Option< T > get (key_t key) const
 
val_t get (key_t key, val_t def) const
 
bool hasKey (key_t key) const
 
int count (void) const
 
bool isEmpty (void) const
 
bool equals (const Map< K, T, C > &map) const
 
bool operator== (const Map< K, T, C > &map) const
 
bool operator!= (const Map< K, T, C > &map) const
 
Option< T > get (key_t key)
 
T & get (const K &key, T &def)
 
void put (const K &key, const T &value)
 
void remove (const K &key)
 
void remove (const PairIterator &iter)
 
void clear (void)
 
void copy (const Map< K, T, C > &map)
 
Map< K, T, C > & operator= (const Map< K, T, C > &map)
 

Detailed Description

template<class K, class T, class C = Comparator<K>>
class elm::avl::Map< K, T, C >

Implements a map based on AVL tree, that is, a map supporting O(log n) accesses.

Implemented concepts
  • elm::concept::Collection<T>
  • elm::concept::Map<K, T>
Parameters
KType of keys of the map.
TType of stored items.
CComparator used to sort the items (must implements the elm::concept::Comparator<K> concept, as a default elm::Comparator<K>).
See also
elm::avl::GenTree

Member Function Documentation

template<class K, class T, class C = Comparator<K>>
void elm::avl::Map< K, T, C >::clear ( void  )
template<class K, class T, class C = Comparator<K>>
void elm::avl::Map< K, T, C >::copy ( const Map< K, T, C > &  map)
template<class K, class T, class C = Comparator<K>>
int elm::avl::Map< K, T, C >::count ( void  ) const
template<class K, class T, class C = Comparator<K>>
bool elm::avl::Map< K, T, C >::equals ( const Map< K, T, C > &  map) const
template<class K, class T, class C = Comparator<K>>
Option<T> elm::avl::Map< K, T, C >::get ( key_t  key) const
template<class K, class T, class C = Comparator<K>>
val_t elm::avl::Map< K, T, C >::get ( key_t  key,
val_t  def 
) const
template<class K, class T, class C = Comparator<K>>
Option<T> elm::avl::Map< K, T, C >::get ( key_t  key)
template<class K, class T, class C = Comparator<K>>
T& elm::avl::Map< K, T, C >::get ( const K &  key,
T &  def 
)
template<class K, class T, class C = Comparator<K>>
bool elm::avl::Map< K, T, C >::hasKey ( key_t  key) const
template<class K, class T, class C = Comparator<K>>
bool elm::avl::Map< K, T, C >::isEmpty ( void  ) const
template<class K, class T, class C = Comparator<K>>
bool elm::avl::Map< K, T, C >::operator!= ( const Map< K, T, C > &  map) const
template<class K, class T, class C = Comparator<K>>
Map<K, T, C>& elm::avl::Map< K, T, C >::operator= ( const Map< K, T, C > &  map)
template<class K, class T, class C = Comparator<K>>
bool elm::avl::Map< K, T, C >::operator== ( const Map< K, T, C > &  map) const
template<class K, class T, class C = Comparator<K>>
void elm::avl::Map< K, T, C >::put ( const K &  key,
const T &  value 
)
template<class K, class T, class C = Comparator<K>>
void elm::avl::Map< K, T, C >::remove ( const K &  key)
template<class K, class T, class C = Comparator<K>>
void elm::avl::Map< K, T, C >::remove ( const PairIterator iter)

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