HashMap< K, V >::Iterator< is_const > Class Template Reference

#include <WHashMap.h>

Collaboration diagram for HashMap< K, V >::Iterator< is_const >:

Public Types

using iterator_category = std::random_access_iterator_tag
 
using value_type = BaseElement< is_const >
 
using difference_type = std::ptrdiff_t
 
using pointer = BaseElement< is_const > *
 
using reference = BaseElement< is_const > &
 
using Map = typename std::conditional< is_const, const HashMap, HashMap >::type
 
using Value = typename std::conditional< is_const, const V, V >::type
 

Public Member Functions

 Iterator (const Iterator &)=default
 
 Iterator (Map &map, unsigned index)
 
Iteratoroperator++ ()
 
Iterator operator++ (int)
 
Iterator operator+= (size_t distance)
 
bool operator== (const Iterator &rhs) const
 
bool operator!= (const Iterator &rhs) const
 
BaseElement< is_const > operator* ()
 
ElementConst operator* () const
 

Protected Attributes

Mapmap
 
unsigned index {0}
 

Member Typedef Documentation

◆ difference_type

template<typename K , typename V >
template<bool is_const>
using HashMap< K, V >::Iterator< is_const >::difference_type = std::ptrdiff_t

◆ iterator_category

template<typename K , typename V >
template<bool is_const>
using HashMap< K, V >::Iterator< is_const >::iterator_category = std::random_access_iterator_tag

◆ Map

template<typename K , typename V >
template<bool is_const>
using HashMap< K, V >::Iterator< is_const >::Map = typename std::conditional<is_const, const HashMap, HashMap>::type

◆ pointer

template<typename K , typename V >
template<bool is_const>
using HashMap< K, V >::Iterator< is_const >::pointer = BaseElement<is_const>*

◆ reference

template<typename K , typename V >
template<bool is_const>
using HashMap< K, V >::Iterator< is_const >::reference = BaseElement<is_const>&

◆ Value

template<typename K , typename V >
template<bool is_const>
using HashMap< K, V >::Iterator< is_const >::Value = typename std::conditional<is_const, const V, V>::type

◆ value_type

template<typename K , typename V >
template<bool is_const>
using HashMap< K, V >::Iterator< is_const >::value_type = BaseElement<is_const>

Constructor & Destructor Documentation

◆ Iterator() [1/2]

template<typename K , typename V >
template<bool is_const>
HashMap< K, V >::Iterator< is_const >::Iterator ( const Iterator< is_const > &  )
default

◆ Iterator() [2/2]

template<typename K , typename V >
template<bool is_const>
HashMap< K, V >::Iterator< is_const >::Iterator ( Map map,
unsigned  index 
)
inline

Member Function Documentation

◆ operator!=()

template<typename K , typename V >
template<bool is_const>
bool HashMap< K, V >::Iterator< is_const >::operator!= ( const Iterator< is_const > &  rhs) const
inline

◆ operator*() [1/2]

template<typename K , typename V >
template<bool is_const>
BaseElement<is_const> HashMap< K, V >::Iterator< is_const >::operator* ( )
inline

◆ operator*() [2/2]

template<typename K , typename V >
template<bool is_const>
ElementConst HashMap< K, V >::Iterator< is_const >::operator* ( ) const
inline

◆ operator++() [1/2]

template<typename K , typename V >
template<bool is_const>
Iterator& HashMap< K, V >::Iterator< is_const >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename K , typename V >
template<bool is_const>
Iterator HashMap< K, V >::Iterator< is_const >::operator++ ( int  )
inline

◆ operator+=()

template<typename K , typename V >
template<bool is_const>
Iterator HashMap< K, V >::Iterator< is_const >::operator+= ( size_t  distance)
inline

◆ operator==()

template<typename K , typename V >
template<bool is_const>
bool HashMap< K, V >::Iterator< is_const >::operator== ( const Iterator< is_const > &  rhs) const
inline

Member Data Documentation

◆ index

template<typename K , typename V >
template<bool is_const>
unsigned HashMap< K, V >::Iterator< is_const >::index {0}
protected

◆ map

template<typename K , typename V >
template<bool is_const>
Map& HashMap< K, V >::Iterator< is_const >::map
protected

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