|
|
using | iterator_category = std::forward_iterator_tag |
| |
|
using | value_type = hamt_map< KeyType, ValueType, Hash, KeyEqual >::value_type |
| |
|
using | difference_type = std::ptrdiff_t |
| |
|
using | pointer = value_type * |
| |
|
using | reference = value_type & |
| |
|
using | value_reference_type = typename std::conditional< IsConstIterator, value_type const &, value_type & >::type |
| | For const_iterator: define value_reference_type to be a 'value_type const &' For iterator: define value_reference_type to be a 'value_type &'.
|
| |
|
using | value_pointer_type = typename std::conditional< IsConstIterator, value_type const *, value_type * >::type |
| | For const_iterator: define value_pointer_type to be a 'value_type const *' For regular iterator: define value_pointer_type to be a 'value_type *'.
|
| |
|
using | database_reference = typename std::conditional< IsConstIterator, database const &, database & >::type |
| |
template<typename KeyType, typename ValueType, typename Hash, typename KeyEqual>
template<bool IsConstIterator = true>
class pstore::index::hamt_map< KeyType, ValueType, Hash, KeyEqual >::iterator_base< IsConstIterator >
Inner class that describes a const_iterator and 'regular' iterator.
template<typename KeyType, typename ValueType, typename Hash, typename KeyEqual>
template<bool IsConstIterator = true>
template<bool Enable = IsConstIterator, typename = typename std::enable_if<Enable>::type>
Copy constructor.
Allows for implicit conversion from a regular iterator to a const_iterator