Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
Adaptor iterator to allow values to be moved from a map. Internaly calls reinterpret cast to dereference result of underlying map iterator. More...
#include <iterator.hpp>
Public Types | |
typedef Iterator | iterator_type |
The underlying iterator type. More... | |
using | iterator_category = typename std::iterator_traits< Iterator >::iterator_category |
iterator_category is inherited. More... | |
typedef std::pair< KeyType, ValueType > | value_type |
The value type is essentially the value_type of adapted iterator but constructed here to avoid consts. More... | |
typedef value_type && | reference |
Reference type is rvalue reference to the value type. More... | |
typedef value_type * | pointer |
The pointer type is a pointer to the value_type. More... | |
using | difference_type = std::ptrdiff_t |
Difference_type is standard pointer difference type. More... | |
Public Member Functions | |
map_move_iterator (Iterator it) | |
Constructor of the set move iterator adaptor. More... | |
iterator_type | base () const |
Getter of the underlying set iterator. More... | |
pointer | operator-> () const |
Arrow operator using the reinterpret cast. More... | |
reference | operator* () const |
Dereference operator using the reinterpret cast. More... | |
map_move_iterator & | operator++ () |
Increment operator. More... | |
map_move_iterator & | operator-- () |
Decrement operator. More... | |
map_move_iterator | operator++ (int) |
Increment operator. More... | |
map_move_iterator | operator-- (int) |
Decrement operator. More... | |
bool | operator== (const map_move_iterator< Iterator, KeyType, ValueType > &other) const |
Comparison of iterators for equality. More... | |
Adaptor iterator to allow values to be moved from a map. Internaly calls reinterpret cast to dereference result of underlying map iterator.
Iterator | the adapted iterator |
KeyType | the key type of adapted map's iterator |
ValueType | the value type of adapted map's iterator |
using ext::map_move_iterator< Iterator, KeyType, ValueType >::difference_type = std::ptrdiff_t |
Difference_type is standard pointer difference type.
using ext::map_move_iterator< Iterator, KeyType, ValueType >::iterator_category = typename std::iterator_traits < Iterator >::iterator_category |
iterator_category is inherited.
typedef Iterator ext::map_move_iterator< Iterator, KeyType, ValueType >::iterator_type |
The underlying iterator type.
typedef value_type* ext::map_move_iterator< Iterator, KeyType, ValueType >::pointer |
The pointer type is a pointer to the value_type.
typedef value_type&& ext::map_move_iterator< Iterator, KeyType, ValueType >::reference |
Reference type is rvalue reference to the value type.
typedef std::pair< KeyType, ValueType > ext::map_move_iterator< Iterator, KeyType, ValueType >::value_type |
The value type is essentially the value_type of adapted iterator but constructed here to avoid consts.
|
inlineexplicit |
Constructor of the set move iterator adaptor.
it | the underlying set iterator |
|
inline |
Getter of the underlying set iterator.
|
inline |
Dereference operator using the reinterpret cast.
|
inline |
Increment operator.
Increments the underlying operator.
|
inline |
Increment operator.
Increments the underlying operator.
|
inline |
Decrement operator.
Decrements the underlying operator.
|
inline |
Decrement operator.
Decrements the underlying operator.
|
inline |
Arrow operator using the reinterpret cast.
|
inline |
Comparison of iterators for equality.
other | the other iterator |