MADNESS
version 0.9
|
iterator for hash More...
#include <worldhashmap.h>
Public Types | |
typedef madness::if_ < std::is_const< hashT > , typename std::add_const < typename hashT::entryT > ::type, typename hashT::entryT > ::type | entryT |
typedef madness::if_ < std::is_const< hashT > , typename std::add_const < typename hashT::datumT > ::type, typename hashT::datumT > ::type | datumT |
typedef std::forward_iterator_tag | iterator_category |
typedef datumT | value_type |
typedef std::ptrdiff_t | difference_type |
typedef datumT * | pointer |
typedef datumT & | reference |
Public Member Functions | |
HashIterator () | |
Makes invalid iterator. More... | |
HashIterator (hashT *h, bool begin) | |
Makes begin/end iterator. More... | |
HashIterator (hashT *h, int bin, entryT *entry) | |
Makes iterator to specific entry. More... | |
HashIterator (const HashIterator &other) | |
Copy constructor. More... | |
template<class otherHashT > | |
HashIterator (const HashIterator< otherHashT > &other) | |
Implicit conversion of another hash type to this hash type. More... | |
HashIterator & | operator++ () |
HashIterator | operator++ (int) |
int | distance (const HashIterator &other) const |
Difference between iterators only supported for this=start and other=end. More... | |
void | advance (int n) |
Only positive increments are supported. More... | |
bool | operator== (const HashIterator &a) const |
bool | operator!= (const HashIterator &a) const |
reference | operator* () const |
pointer | operator-> () const |
Friends | |
template<class otherHashT > | |
class | HashIterator |
iterator for hash
typedef madness::if_<std::is_const<hashT>, typename std::add_const<typename hashT::datumT>::type, typename hashT::datumT>::type madness::Hash_private::HashIterator< hashT >::datumT |
typedef std::ptrdiff_t madness::Hash_private::HashIterator< hashT >::difference_type |
typedef madness::if_<std::is_const<hashT>, typename std::add_const<typename hashT::entryT>::type, typename hashT::entryT>::type madness::Hash_private::HashIterator< hashT >::entryT |
typedef std::forward_iterator_tag madness::Hash_private::HashIterator< hashT >::iterator_category |
typedef datumT* madness::Hash_private::HashIterator< hashT >::pointer |
typedef datumT& madness::Hash_private::HashIterator< hashT >::reference |
typedef datumT madness::Hash_private::HashIterator< hashT >::value_type |
|
inline |
Makes invalid iterator.
|
inline |
Makes begin/end iterator.
|
inline |
Makes iterator to specific entry.
|
inline |
Copy constructor.
|
inline |
Implicit conversion of another hash type to this hash type.
This allows implicit conversion from hash types to const hash types.
|
inline |
Only positive increments are supported.
This exists to support splitting of range for parallel iteration.
Referenced by std::advance().
|
inline |
Difference between iterators only supported for this=start and other=end.
This exists to support construction of range for parallel iteration over the entire container.
Referenced by std::distance().
|
inline |
|
inline |
|
inline |
Referenced by madness::Hash_private::HashIterator< hashT >::operator++().
|
inline |
|
inline |
|
inline |