|
RPNX::DataStructures
Header-only C++ data structures and supporting utilities.
|
Owning type-erased bidirectional input iterator. More...
#include <dyn_iterator.hpp>
Public Member Functions | |
| dyn_bidirectional_input_iter () | |
| Constructs an empty iterator. | |
| template<typename It> | |
| dyn_bidirectional_input_iter (It it) | |
| Erases and owns a bidirectional iterator value. | |
| dyn_bidirectional_input_iter (dyn_bidirectional_input_iter< V > const &other) | |
| Copies the erased iterator. | |
| dyn_bidirectional_input_iter (dyn_bidirectional_input_iter< V > &&other) noexcept | |
| Moves the erased iterator and leaves the source empty. | |
| dyn_bidirectional_input_iter< V > & | operator= (dyn_bidirectional_input_iter< V > const &other) |
| Copy-assigns the erased iterator. | |
| dyn_bidirectional_input_iter< V > & | operator= (dyn_bidirectional_input_iter< V > &&other) noexcept |
| Move-assigns the erased iterator and leaves the source empty. | |
| V | operator* () const |
| Reads the current element by value. | |
| dyn_bidirectional_input_iter< V > & | operator++ () |
| Advances one position. | |
| dyn_bidirectional_input_iter< V > | operator++ (int) |
| Advances and returns the previous position. | |
| dyn_bidirectional_input_iter< V > & | operator-- () |
| Retreats one position. | |
| dyn_bidirectional_input_iter< V > | operator-- (int) |
| Retreats and returns the previous position. | |
| bool | operator== (dyn_bidirectional_input_iter< V > const &other) const |
| Compares erased iterators for equality. | |
| bool | operator!= (dyn_bidirectional_input_iter< V > const &other) const |
| Compares erased iterators for inequality. | |
Owning type-erased bidirectional input iterator.
Dereference returns V by value. Equality is defined only through the concrete erased iterator type; different concrete types compare unequal. Empty instances may only be destroyed, assigned, or compared.
| V | Value type produced by dereference. |
|
inline |
Erases and owns a bidirectional iterator value.
| It | Concrete iterator type. |
| it | Iterator to store. |
|
inline |
Copies the erased iterator.
| other | Iterator to copy. |
|
inlinenoexcept |
Moves the erased iterator and leaves the source empty.
| other | Iterator to move. |
|
inline |
Compares erased iterators for inequality.
| other | Iterator to compare. |
|
inline |
Reads the current element by value.
|
inline |
Advances one position.
|
inline |
Advances and returns the previous position.
|
inline |
Retreats one position.
|
inline |
Retreats and returns the previous position.
|
inlinenoexcept |
Move-assigns the erased iterator and leaves the source empty.
| other | Iterator to move. |
|
inline |
Copy-assigns the erased iterator.
| other | Iterator to copy. |
|
inline |
Compares erased iterators for equality.
| other | Iterator to compare. |
true for equal positions of the same erased type, or for two empty iterators.