Main Page | Directories | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

moot::AssocVector< KeyT, ValT > Class Template Reference

LISP-style assoc list using vector<>: map-like class with small memory footprint. Useful for small associative arrays. Lookup and insert are linear time. More...

#include <mootAssocVector.h>

List of all members.

Public Types

Public Member Functions

Constructors etc.
Iterator Utilities
Get/Insert
Operators
Sorting

Detailed Description

template<typename KeyT, typename ValT>
class moot::AssocVector< KeyT, ValT >

Requirements for KeyT Requirements for ValT


Member Typedef Documentation

template<typename KeyT, typename ValT>
typedef KeyT moot::AssocVector< KeyT, ValT >::assoc_key_type
 

template<typename KeyT, typename ValT>
typedef AssocVectorNode<KeyT,ValT> moot::AssocVector< KeyT, ValT >::assoc_node_type
 

template<typename KeyT, typename ValT>
typedef ValT moot::AssocVector< KeyT, ValT >::assoc_value_type
 

template<typename KeyT, typename ValT>
typedef std::vector<assoc_node_type> moot::AssocVector< KeyT, ValT >::assoc_vector_type
 

template<typename KeyT, typename ValT>
typedef assoc_vector_type::const_iterator moot::AssocVector< KeyT, ValT >::const_iterator
 

template<typename KeyT, typename ValT>
typedef assoc_vector_type::const_reverse_iterator moot::AssocVector< KeyT, ValT >::const_reverse_iterator
 

template<typename KeyT, typename ValT>
typedef assoc_vector_type::iterator moot::AssocVector< KeyT, ValT >::iterator
 

template<typename KeyT, typename ValT>
typedef assoc_vector_type::reverse_iterator moot::AssocVector< KeyT, ValT >::reverse_iterator
 


Constructor & Destructor Documentation

template<typename KeyT, typename ValT>
moot::AssocVector< KeyT, ValT >::AssocVector void   )  [inline]
 

Default constructor

template<typename KeyT, typename ValT>
moot::AssocVector< KeyT, ValT >::AssocVector const size_t  mysize  )  [inline]
 

Constructor given size

template<typename KeyT, typename ValT>
moot::AssocVector< KeyT, ValT >::~AssocVector void   )  [inline]
 

Destructor


Member Function Documentation

template<typename KeyT, typename ValT>
const_iterator moot::AssocVector< KeyT, ValT >::find const KeyT &  key  )  const [inline]
 

Return a read-only iterator pointing to the node for , or end() if no such node exists

template<typename KeyT, typename ValT>
iterator moot::AssocVector< KeyT, ValT >::find const KeyT &  key  )  [inline]
 

Return a read/write iterator pointing to the node for , or end() if no such node exists

template<typename KeyT, typename ValT>
iterator moot::AssocVector< KeyT, ValT >::get const KeyT &  key  )  [inline]
 

Return a read/write iterator pointing a node for , adding such a node if not already present

template<typename KeyT, typename ValT>
assoc_node_type& moot::AssocVector< KeyT, ValT >::get_node const KeyT &  key  )  [inline]
 

Get assocation for , possibly creating a new one. Returns a reference to the (new) node.

template<typename KeyT, typename ValT>
assoc_value_type& moot::AssocVector< KeyT, ValT >::get_value const KeyT &  key  )  [inline]
 

Alias for get_node(key)->second

template<typename KeyT, typename ValT>
iterator moot::AssocVector< KeyT, ValT >::insert const KeyT &  key,
const ValT &  val
[inline]
 

Insert association => into the list. Returns an iterator pointing to the (possibly new) association.

template<typename KeyT, typename ValT>
assoc_node_type& moot::AssocVector< KeyT, ValT >::nth const size_t  n  )  [inline]
 

Get/insert the
th node

template<typename KeyT, typename ValT>
const assoc_value_type& moot::AssocVector< KeyT, ValT >::operator[] const KeyT &  key  )  const [inline]
 

Alias for find_data(key)

template<typename KeyT, typename ValT>
assoc_value_type& moot::AssocVector< KeyT, ValT >::operator[] const KeyT &  key  )  [inline]
 

Alias for get_data(key)

template<typename KeyT, typename ValT>
void moot::AssocVector< KeyT, ValT >::rsort_bykey void   )  [inline]
 

Sort contents in descending order by key,value

template<typename KeyT, typename ValT>
void moot::AssocVector< KeyT, ValT >::rsort_byvalue void   )  [inline]
 

Sort contents in descending order by value,key

template<typename KeyT, typename ValT>
void moot::AssocVector< KeyT, ValT >::sort_bykey void   )  [inline]
 

Sort contents in ascending order by key,value

template<typename KeyT, typename ValT>
void moot::AssocVector< KeyT, ValT >::sort_byvalue void   )  [inline]
 

Sort contents in ascending order by value,key


The documentation for this class was generated from the following file:
Generated on Mon Jun 27 13:05:26 2005 for libmoot by  doxygen 1.3.8-20040913