Honeycomb  0.1
Component-Model Framework
Public Types | Public Member Functions | Friends | List of all members
honey::MtMapIter< Head, Elem > Class Template Reference

Bidirectional iterator over map key/value pairs. More...

#include <MtMap.h>

Public Types

typedef MtPair< Key, decltype(declval< Head >).get(Key()))> Pair
 
typedef MtMapIter< Head, Next > NextIter
 
typedef MtMapIter< Head, Prev > PrevIter
 

Public Member Functions

 MtMapIter (Head &head)
 
NextIter operator++ ()
 
PrevIter operator-- ()
 
template<class Iter >
bool operator== (const Iter &rhs) const
 
template<class Iter >
bool operator!= (const Iter &rhs) const
 
const Pairoperator* () const
 
Pairoperator* ()
 
const Pairoperator-> () const
 
Pairoperator-> ()
 

Friends

class MtMapIter
 

Detailed Description

template<class Head, class Elem = Head>
class honey::MtMapIter< Head, Elem >

Bidirectional iterator over map key/value pairs.

Every iteration step is a new type of iterator and pair, so this iterator can't be used normally. This iterator should be used in a recursive templated function.

Member Typedef Documentation

template<class Head , class Elem = Head>
typedef MtMapIter<Head, Next> honey::MtMapIter< Head, Elem >::NextIter
template<class Head , class Elem = Head>
typedef MtPair<Key, decltype(declval<Head>).get(Key()))> honey::MtMapIter< Head, Elem >::Pair
template<class Head , class Elem = Head>
typedef MtMapIter<Head, Prev> honey::MtMapIter< Head, Elem >::PrevIter

Constructor & Destructor Documentation

template<class Head , class Elem = Head>
honey::MtMapIter< Head, Elem >::MtMapIter ( Head &  head)
inline

Member Function Documentation

template<class Head , class Elem = Head>
template<class Iter >
bool honey::MtMapIter< Head, Elem >::operator!= ( const Iter &  rhs) const
inline
template<class Head , class Elem = Head>
const Pair& honey::MtMapIter< Head, Elem >::operator* ( ) const
inline
template<class Head , class Elem = Head>
Pair& honey::MtMapIter< Head, Elem >::operator* ( )
inline
template<class Head , class Elem = Head>
NextIter honey::MtMapIter< Head, Elem >::operator++ ( )
inline
template<class Head , class Elem = Head>
PrevIter honey::MtMapIter< Head, Elem >::operator-- ( )
inline
template<class Head , class Elem = Head>
const Pair* honey::MtMapIter< Head, Elem >::operator-> ( ) const
inline
template<class Head , class Elem = Head>
Pair* honey::MtMapIter< Head, Elem >::operator-> ( )
inline
template<class Head , class Elem = Head>
template<class Iter >
bool honey::MtMapIter< Head, Elem >::operator== ( const Iter &  rhs) const
inline

Friends And Related Function Documentation

template<class Head , class Elem = Head>
friend class MtMapIter
friend

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