ug4
ug::hash_iterator< TKey, TValue, TEntry > Class Template Reference

this iterator is used by the hash class to provide access to the elements of a given key More...

#include <hash_iterator.h>

Public Types

typedef size_t difference_type
 
typedef TEntry entry_t
 
typedef std::forward_iterator_tag iterator_category
 
typedef TKey key_t
 
typedef TValue * pointer
 
typedef TValue & reference
 
typedef hash_iterator this_type
 
typedef TValue value_t
 
typedef TValue value_type
 

Public Member Functions

 hash_iterator ()
 
 hash_iterator (const key_t &key, const entry_t *entries, size_t entryInd)
 
bool operator!= (const this_type &iter) const
 
value_typeoperator* ()
 
this_type operator++ ()
 
this_type operator++ (int unused)
 
bool operator== (const this_type &iter) const
 

Private Member Functions

bool equal (const this_type &other) const
 
void increment ()
 

Private Attributes

const entry_tm_entries
 
size_t m_entryInd
 
key_t m_key
 

Static Private Attributes

static const size_t s_invalidIndex = -1
 marks an index as invalid More...
 

Detailed Description

template<class TKey, class TValue, class TEntry>
class ug::hash_iterator< TKey, TValue, TEntry >

this iterator is used by the hash class to provide access to the elements of a given key

Member Typedef Documentation

◆ difference_type

template<class TKey , class TValue , class TEntry >
typedef size_t ug::hash_iterator< TKey, TValue, TEntry >::difference_type

◆ entry_t

template<class TKey , class TValue , class TEntry >
typedef TEntry ug::hash_iterator< TKey, TValue, TEntry >::entry_t

◆ iterator_category

template<class TKey , class TValue , class TEntry >
typedef std::forward_iterator_tag ug::hash_iterator< TKey, TValue, TEntry >::iterator_category

◆ key_t

template<class TKey , class TValue , class TEntry >
typedef TKey ug::hash_iterator< TKey, TValue, TEntry >::key_t

◆ pointer

template<class TKey , class TValue , class TEntry >
typedef TValue* ug::hash_iterator< TKey, TValue, TEntry >::pointer

◆ reference

template<class TKey , class TValue , class TEntry >
typedef TValue& ug::hash_iterator< TKey, TValue, TEntry >::reference

◆ this_type

template<class TKey , class TValue , class TEntry >
typedef hash_iterator ug::hash_iterator< TKey, TValue, TEntry >::this_type

◆ value_t

template<class TKey , class TValue , class TEntry >
typedef TValue ug::hash_iterator< TKey, TValue, TEntry >::value_t

◆ value_type

template<class TKey , class TValue , class TEntry >
typedef TValue ug::hash_iterator< TKey, TValue, TEntry >::value_type

Constructor & Destructor Documentation

◆ hash_iterator() [1/2]

template<class TKey , class TValue , class TEntry >
ug::hash_iterator< TKey, TValue, TEntry >::hash_iterator ( )
inline

◆ hash_iterator() [2/2]

template<class TKey , class TValue , class TEntry >
ug::hash_iterator< TKey, TValue, TEntry >::hash_iterator ( const key_t key,
const entry_t entries,
size_t  entryInd 
)
inline

Member Function Documentation

◆ equal()

template<class TKey , class TValue , class TEntry >
bool ug::hash_iterator< TKey, TValue, TEntry >::equal ( const this_type other) const
inlineprivate

◆ increment()

◆ operator!=()

template<class TKey , class TValue , class TEntry >
bool ug::hash_iterator< TKey, TValue, TEntry >::operator!= ( const this_type iter) const
inline

◆ operator*()

◆ operator++() [1/2]

template<class TKey , class TValue , class TEntry >
this_type ug::hash_iterator< TKey, TValue, TEntry >::operator++ ( )
inline

◆ operator++() [2/2]

template<class TKey , class TValue , class TEntry >
this_type ug::hash_iterator< TKey, TValue, TEntry >::operator++ ( int  unused)
inline

◆ operator==()

template<class TKey , class TValue , class TEntry >
bool ug::hash_iterator< TKey, TValue, TEntry >::operator== ( const this_type iter) const
inline

Member Data Documentation

◆ m_entries

template<class TKey , class TValue , class TEntry >
const entry_t* ug::hash_iterator< TKey, TValue, TEntry >::m_entries
private

◆ m_entryInd

template<class TKey , class TValue , class TEntry >
size_t ug::hash_iterator< TKey, TValue, TEntry >::m_entryInd
private

◆ m_key

template<class TKey , class TValue , class TEntry >
key_t ug::hash_iterator< TKey, TValue, TEntry >::m_key
private

◆ s_invalidIndex

template<class TKey , class TValue , class TEntry >
const size_t ug::hash_iterator< TKey, TValue, TEntry >::s_invalidIndex = -1
staticprivate

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