CASM  1.1.0
A Clusters Approach to Statistical Mechanics
notstd::UniqueMapIterator< TransformFunc, MapIteratorType > Class Template Reference

#include <unique_map.hh>

Detailed Description

template<typename TransformFunc, typename MapIteratorType>
class notstd::UniqueMapIterator< TransformFunc, MapIteratorType >

An iterator over a UniqueMap.

UniqueType should be Unique or const Unique, and MapIteratorType should be std::map<int, std::unique_ptr<UniqueType> > with const-ness matching the UniqueType.

Definition at line 19 of file unique_map.hh.

Public Types

typedef std::bidirectional_iterator_tag iterator_category
 
typedef MapIteratorType::difference_type difference_type
 
typedef std::result_of< TransformFunc(typename MapIteratorType::reference)>::type reference
 
typedef std::remove_reference< reference >::type value_type
 
typedef value_typepointer
 

Public Member Functions

 UniqueMapIterator ()
 
 UniqueMapIterator (MapIteratorType map_it)
 
template<typename T , typename M >
 UniqueMapIterator (const UniqueMapIterator< T, M > &umap_it)
 
template<typename T , typename M >
bool operator== (const UniqueMapIterator< T, M > &B) const
 
template<typename T , typename M >
bool operator!= (const UniqueMapIterator< T, M > &B) const
 
int type () const
 
reference operator* () const
 
pointer operator-> () const
 
UniqueMapIteratoroperator++ ()
 
UniqueMapIterator operator++ (int)
 
UniqueMapIteratoroperator-- ()
 
UniqueMapIterator operator-- (int)
 
MapIteratorType base () const
 

Private Attributes

MapIteratorType m_it
 
TransformFunc m_transform
 

Member Typedef Documentation

◆ difference_type

template<typename TransformFunc , typename MapIteratorType >
typedef MapIteratorType::difference_type notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::difference_type

Definition at line 22 of file unique_map.hh.

◆ iterator_category

template<typename TransformFunc , typename MapIteratorType >
typedef std::bidirectional_iterator_tag notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::iterator_category

Definition at line 21 of file unique_map.hh.

◆ pointer

template<typename TransformFunc , typename MapIteratorType >
typedef value_type* notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::pointer

Definition at line 26 of file unique_map.hh.

◆ reference

template<typename TransformFunc , typename MapIteratorType >
typedef std::result_of<TransformFunc( typename MapIteratorType::reference)>::type notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::reference

Definition at line 24 of file unique_map.hh.

◆ value_type

template<typename TransformFunc , typename MapIteratorType >
typedef std::remove_reference<reference>::type notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::value_type

Definition at line 25 of file unique_map.hh.

Constructor & Destructor Documentation

◆ UniqueMapIterator() [1/3]

template<typename TransformFunc , typename MapIteratorType >
notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::UniqueMapIterator ( )
inline

Definition at line 28 of file unique_map.hh.

◆ UniqueMapIterator() [2/3]

template<typename TransformFunc , typename MapIteratorType >
notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::UniqueMapIterator ( MapIteratorType  map_it)
inlineexplicit

Definition at line 30 of file unique_map.hh.

◆ UniqueMapIterator() [3/3]

template<typename TransformFunc , typename MapIteratorType >
template<typename T , typename M >
notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::UniqueMapIterator ( const UniqueMapIterator< T, M > &  umap_it)
inline

Definition at line 34 of file unique_map.hh.

Member Function Documentation

◆ base()

template<typename TransformFunc , typename MapIteratorType >
MapIteratorType notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::base ( ) const
inline

Definition at line 79 of file unique_map.hh.

◆ operator!=()

template<typename TransformFunc , typename MapIteratorType >
template<typename T , typename M >
bool notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::operator!= ( const UniqueMapIterator< T, M > &  B) const
inline

Definition at line 43 of file unique_map.hh.

◆ operator*()

template<typename TransformFunc , typename MapIteratorType >
reference notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::operator* ( ) const
inline

Definition at line 49 of file unique_map.hh.

◆ operator++() [1/2]

template<typename TransformFunc , typename MapIteratorType >
UniqueMapIterator& notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::operator++ ( )
inline

Definition at line 54 of file unique_map.hh.

◆ operator++() [2/2]

template<typename TransformFunc , typename MapIteratorType >
UniqueMapIterator notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::operator++ ( int  )
inline

Definition at line 60 of file unique_map.hh.

◆ operator--() [1/2]

template<typename TransformFunc , typename MapIteratorType >
UniqueMapIterator& notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::operator-- ( )
inline

Definition at line 67 of file unique_map.hh.

◆ operator--() [2/2]

template<typename TransformFunc , typename MapIteratorType >
UniqueMapIterator notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::operator-- ( int  )
inline

Definition at line 73 of file unique_map.hh.

◆ operator->()

template<typename TransformFunc , typename MapIteratorType >
pointer notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::operator-> ( ) const
inline

Definition at line 51 of file unique_map.hh.

◆ operator==()

template<typename TransformFunc , typename MapIteratorType >
template<typename T , typename M >
bool notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::operator== ( const UniqueMapIterator< T, M > &  B) const
inline

Definition at line 38 of file unique_map.hh.

◆ type()

template<typename TransformFunc , typename MapIteratorType >
int notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::type ( ) const
inline

Definition at line 47 of file unique_map.hh.

Member Data Documentation

◆ m_it

template<typename TransformFunc , typename MapIteratorType >
MapIteratorType notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::m_it
private

Definition at line 82 of file unique_map.hh.

◆ m_transform

template<typename TransformFunc , typename MapIteratorType >
TransformFunc notstd::UniqueMapIterator< TransformFunc, MapIteratorType >::m_transform
private

Definition at line 83 of file unique_map.hh.


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