Clarisse 5.0 SP8 SDK  5.0.5.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Member Functions | Friends | List of all members
CoreHashTableIterator< K, V, C > Class Template Reference

Public Member Functions

 CoreHashTableIterator (void)
 
 CoreHashTableIterator (const CoreHashTableIterator &other)=default
 
 CoreHashTableIterator (CoreHashTableIterator &&other) noexcept=default
 
CoreHashTableIteratoroperator= (const CoreHashTableIterator &other)=default
 
CoreHashTableIteratoroperator= (CoreHashTableIterator &&other) noexcept=default
 
bool is_valid (void) const
 
const K & get_key () const
 
const V & get_value () const
 
CoreHashTableNode< K, V, C > operator* (void)
 
CoreHashTableIteratoroperator++ (void)
 
CoreHashTableIteratoroperator++ (int)
 
bool operator== (const CoreHashTableIterator &other) const
 
bool operator!= (const CoreHashTableIterator &other) const
 
V & get_value (void)
 
void set_value (const V &value)
 

Friends

class CoreHashTableDense< K, V >
 
class CoreHashTableSparse< K, V >
 

Detailed Description

template<class K, class V, bool C>
class CoreHashTableIterator< K, V, C >

Iterator class for CoreHashTable(Sparse/Dense)

This is not a full-fledge STL iterator. For instance you'll not be able (yet) to use std::transform. But at least if allows CoreHashTable(Sparse/Dense) to be iterated and modified using more convenient range-for C++11 loops.

Be aware that get_

Constructor & Destructor Documentation

template<typename K , typename V , bool C>
CoreHashTableIterator< K, V, C >::CoreHashTableIterator ( void  )
inline

Default constructor.

Member Function Documentation

template<typename K , typename V , bool C>
const K & CoreHashTableIterator< K, V, C >::get_key ( ) const
inline

Get the key as an immutable reference.

template<typename K , typename V , bool C>
const V & CoreHashTableIterator< K, V, C >::get_value ( ) const
inline

Get the value as an immutable reference.

template<class K, class V, bool C>
V& CoreHashTableIterator< K, V, C >::get_value ( void  )
inline

Get the value as a mutable reference.

template<typename K , typename V , bool C>
bool CoreHashTableIterator< K, V, C >::is_valid ( void  ) const
inline

Returns true if the iterator is valid and can be safely dereferenced and used, false otherwise.

template<typename K , typename V , bool C>
bool CoreHashTableIterator< K, V, C >::operator!= ( const CoreHashTableIterator< K, V, C > &  other) const
inline

Inequality operator

template<typename K , typename V , bool C>
CoreHashTableNode< K, V, C > CoreHashTableIterator< K, V, C >::operator* ( void  )
inline

Dereference this iterator into a temporary node. This should not be used directly, it's only used in range-for loops.

template<typename K , typename V , bool C>
CoreHashTableIterator< K, V, C > & CoreHashTableIterator< K, V, C >::operator++ ( void  )
inline

Pre-increment operator

template<typename K , typename V , bool C>
CoreHashTableIterator< K, V, C > & CoreHashTableIterator< K, V, C >::operator++ ( int  )
inline

Post-increment operator

template<typename K , typename V , bool C>
bool CoreHashTableIterator< K, V, C >::operator== ( const CoreHashTableIterator< K, V, C > &  other) const
inline

Equality operator

template<class K, class V, bool C>
void CoreHashTableIterator< K, V, C >::set_value ( const V &  value)
inline

Set the value