CLAW Library (a C++ Library Absolutely Wonderful) 1.5.5
Classes | Public Types | Public Member Functions | Private Types | Private Attributes | Friends
claw::multi_type_map< Key, meta::type_list< Head, Tail > > Class Template Reference

#include <multi_type_map.hpp>

List of all members.

Classes

struct  iterator
 This structure is used to create an iterator on the values of a given type. More...

Public Types

typedef Key key_type
typedef Head value_type
typedef meta::type_list< Head,
Tail > 
value_type_list
typedef multi_type_map< Key,
meta::type_list< Head, Tail > > 
self_type
typedef std::map< key_type,
value_type
container_type
typedef multi_type_map< Key, Tail > super

Public Member Functions

template<typename ValueType >
const ValueType & get (const key_type &k) const
template<typename ValueType >
void set (const key_type &k, const ValueType &v)
template<typename ValueType >
bool exists (const key_type &k) const
template<typename ValueType >
iterator< ValueType >::type begin ()
template<typename ValueType >
iterator< ValueType >::type end ()
template<typename ValueType >
iterator< ValueType >::const_type begin () const
template<typename ValueType >
iterator< ValueType >::const_type end () const

Private Types

typedef iterator< value_type >
::type 
iterator_type
typedef iterator< value_type >
::const_type 
const_iterator_type

Private Attributes

container_type m_data
 Data stored for the first type of the list.

Friends

struct multi_type_map_wrapper< value_type, self_type >

Detailed Description

template<typename Key, typename Head, typename Tail>
class claw::multi_type_map< Key, meta::type_list< Head, Tail > >

Definition at line 97 of file multi_type_map.hpp.


Member Typedef Documentation

template<typename Key , typename Head , typename Tail >
typedef iterator<value_type>::const_type claw::multi_type_map< Key, meta::type_list< Head, Tail > >::const_iterator_type [private]

Definition at line 125 of file multi_type_map.hpp.

template<typename Key , typename Head , typename Tail >
typedef std::map<key_type, value_type> claw::multi_type_map< Key, meta::type_list< Head, Tail > >::container_type

Definition at line 105 of file multi_type_map.hpp.

template<typename Key , typename Head , typename Tail >
typedef iterator<value_type>::type claw::multi_type_map< Key, meta::type_list< Head, Tail > >::iterator_type [private]

Definition at line 124 of file multi_type_map.hpp.

template<typename Key , typename Head , typename Tail >
typedef Key claw::multi_type_map< Key, meta::type_list< Head, Tail > >::key_type

Definition at line 101 of file multi_type_map.hpp.

template<typename Key , typename Head , typename Tail >
typedef multi_type_map< Key, meta::type_list<Head, Tail> > claw::multi_type_map< Key, meta::type_list< Head, Tail > >::self_type

Definition at line 104 of file multi_type_map.hpp.

template<typename Key , typename Head , typename Tail >
typedef multi_type_map<Key, Tail> claw::multi_type_map< Key, meta::type_list< Head, Tail > >::super

Definition at line 106 of file multi_type_map.hpp.

template<typename Key , typename Head , typename Tail >
typedef Head claw::multi_type_map< Key, meta::type_list< Head, Tail > >::value_type

Definition at line 102 of file multi_type_map.hpp.

template<typename Key , typename Head , typename Tail >
typedef meta::type_list<Head, Tail> claw::multi_type_map< Key, meta::type_list< Head, Tail > >::value_type_list

Definition at line 103 of file multi_type_map.hpp.


Member Function Documentation

template<typename Key , typename Head , typename Tail >
template<typename ValueType >
iterator<ValueType>::type claw::multi_type_map< Key, meta::type_list< Head, Tail > >::begin ( )
template<typename Key , typename Head , typename Tail >
template<typename ValueType >
iterator<ValueType>::const_type claw::multi_type_map< Key, meta::type_list< Head, Tail > >::begin ( ) const
template<typename Key , typename Head , typename Tail >
template<typename ValueType >
iterator<ValueType>::type claw::multi_type_map< Key, meta::type_list< Head, Tail > >::end ( )
template<typename Key , typename Head , typename Tail >
template<typename ValueType >
iterator<ValueType>::const_type claw::multi_type_map< Key, meta::type_list< Head, Tail > >::end ( ) const
template<typename Key , typename Head , typename Tail >
template<typename ValueType >
bool claw::multi_type_map< Key, meta::type_list< Head, Tail > >::exists ( const key_type k) const
template<typename Key , typename Head , typename Tail >
template<typename ValueType >
const ValueType& claw::multi_type_map< Key, meta::type_list< Head, Tail > >::get ( const key_type k) const
template<typename Key , typename Head , typename Tail >
template<typename ValueType >
void claw::multi_type_map< Key, meta::type_list< Head, Tail > >::set ( const key_type k,
const ValueType &  v 
)

Friends And Related Function Documentation

template<typename Key , typename Head , typename Tail >
friend struct multi_type_map_wrapper< value_type, self_type > [friend]

Definition at line 108 of file multi_type_map.hpp.


Member Data Documentation

template<typename Key , typename Head , typename Tail >
container_type claw::multi_type_map< Key, meta::type_list< Head, Tail > >::m_data [private]

Data stored for the first type of the list.

Definition at line 151 of file multi_type_map.hpp.


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