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

CB2::MapList< Tkey, Tvalue > Class Template Reference

List of key=value pairs. More...

#include <utils.h>

Inheritance diagram for CB2::MapList< Tkey, Tvalue >:

CB2::Class List of all members.

Public Types

typedef size_t size_type
 Size type.

typedef Map< Tkey, Tvalue > item_type
 List item type.

typedef item_typeref_type
 Item reference type.

typedef Iterator< MapList<
Tkey, Tvalue >, ref_type,
Tvalue > 
iterator
 Iterator.

typedef RevIterator< MapList<
Tkey, Tvalue >, ref_type,
Tvalue > 
rev_iterator
 Reverse iterator.


Public Member Functions

 MapList ()
 Constructor.

 ~MapList ()
 Destructor.

const MapList< Tkey, Tvalue > & operator<< (const Map< Tkey, Tvalue > &map)
 Add new pair.

void Add (const Tkey &key, const Tvalue &value)
 Add new pair.

void Add (const Tkey &key)
 Add new pair with NULL value.

const Tvalue & operator[] (const Tkey &key) const
 Access item by key.

bool IsNULL (const Tkey &key) const
 Check whether item is NULL.


Public Attributes

int tag
 Tag for user-specific data.


Private Attributes

List< item_typedata
 List of pairs.


Detailed Description

template<class Tkey, class Tvalue>
class CB2::MapList< Tkey, Tvalue >

List of key=value pairs.

List of key=value pairs of a given type. Unlike the simple List< Map> type, this template allows access by key.


Member Typedef Documentation

template<class Tkey, class Tvalue>
typedef Map< Tkey, Tvalue> CB2::MapList< Tkey, Tvalue >::item_type
 

List item type.

template<class Tkey, class Tvalue>
typedef Iterator< MapList< Tkey, Tvalue>, ref_type, Tvalue> CB2::MapList< Tkey, Tvalue >::iterator
 

Iterator.

template<class Tkey, class Tvalue>
typedef item_type* CB2::MapList< Tkey, Tvalue >::ref_type
 

Item reference type.

template<class Tkey, class Tvalue>
typedef RevIterator< MapList< Tkey, Tvalue>, ref_type, Tvalue> CB2::MapList< Tkey, Tvalue >::rev_iterator
 

Reverse iterator.

template<class Tkey, class Tvalue>
typedef size_t CB2::MapList< Tkey, Tvalue >::size_type
 

Size type.


Constructor & Destructor Documentation

template<class Tkey, class Tvalue>
CB2::MapList< Tkey, Tvalue >::MapList  )  [inline]
 

Constructor.

Create empty list.

template<class Tkey, class Tvalue>
CB2::MapList< Tkey, Tvalue >::~MapList  )  [inline]
 

Destructor.

Destroy the list.


Member Function Documentation

template<class Tkey, class Tvalue>
void CB2::MapList< Tkey, Tvalue >::Add const Tkey &  key  )  [inline]
 

Add new pair with NULL value.

Add new pair as key and NULL value.

Parameters:
key Key.

template<class Tkey, class Tvalue>
void CB2::MapList< Tkey, Tvalue >::Add const Tkey &  key,
const Tvalue &  value
[inline]
 

Add new pair.

Add new pair as key and value.

Parameters:
key Key.
value Value.

template<class Tkey, class Tvalue>
bool CB2::MapList< Tkey, Tvalue >::IsNULL const Tkey &  key  )  const [inline]
 

Check whether item is NULL.

Check whether an item is NULL. If no value for given key is found, ExceptionNotFound is thrown.

Parameters:
key Key.
Returns:
True if value for the key is NULL.

template<class Tkey, class Tvalue>
const MapList< Tkey, Tvalue>& CB2::MapList< Tkey, Tvalue >::operator<< const Map< Tkey, Tvalue > &  map  )  [inline]
 

Add new pair.

Add new pair of key=value to the list. The pair is stored as local copy.

Parameters:
map Pair to store.
Returns:
Reference to this.

template<class Tkey, class Tvalue>
const Tvalue& CB2::MapList< Tkey, Tvalue >::operator[] const Tkey &  key  )  const [inline]
 

Access item by key.

Get value by key. If no value for given key is found, ExceptionNotFound is thown. Also if the value is found, but NULL, ExceptionAssert is thrown (see Map< Tkey, Tvalue>::GetValue().

Parameters:
key Key.
Returns:
Value.


Member Data Documentation

template<class Tkey, class Tvalue>
List< item_type> CB2::MapList< Tkey, Tvalue >::data [private]
 

List of pairs.

int CB2::Class::tag [inherited]
 

Tag for user-specific data.


The documentation for this class was generated from the following file:
Generated on Wed Sep 15 22:13:45 2004 for ColorBox2 by doxygen 1.3.7