Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound 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>

Inheritance diagram for moot::AssocVector< KeyT, ValT >:

Inheritance graph
[legend]
Collaboration diagram for moot::AssocVector< KeyT, ValT >:

Collaboration graph
[legend]
List of all members.

Public Types

Public Methods

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 @key, 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 @key, 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 @key, 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 @key , 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 @key => @value 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 @n 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 Sep 11 16:10:35 2006 for libmoot by doxygen1.2.18