![]() |
Gaia-ECS v1.0.0
A simple and powerful entity component system
|
Random-access iterator that traverses an underlying iterator in reverse. The stored iterator denotes the element following the value returned by dereference. More...
#include <iterator.h>
Public Types | |
| using | iterator_type = It |
| Underlying iterator type. | |
| using | value_type = std::remove_cv_t< std::remove_reference_t< decltype(*std::declval< It & >())> > |
| Element type returned by dereference. | |
| using | pointer = std::conditional_t< std::is_pointer_v< It >, It, void > |
| Mutable pointer type when the underlying iterator is a pointer. | |
| using | reference = decltype(*std::declval< It & >()) |
| Reference or proxy type returned by dereference. | |
| using | difference_type = Diff |
| Signed iterator distance type. | |
| using | iterator_category = random_access_iterator_tag |
| Iterator category exposed by the adapter. | |
Public Member Functions | |
| constexpr | reverse_iterator (It current) |
| Constructs a reverse iterator from its forward base iterator. | |
| GAIA_NODISCARD constexpr It | base () const |
| Returns the underlying forward iterator. | |
| GAIA_NODISCARD constexpr decltype(auto) | operator* () const |
| Accesses the current element. | |
| GAIA_NODISCARD constexpr decltype(auto) | operator-> () const |
| Accesses the current element through the underlying iterator. | |
| GAIA_NODISCARD constexpr decltype(auto) | operator[] (difference_type offset) const |
| Accesses a reverse-relative element. | |
| constexpr reverse_iterator & | operator++ () |
| Advances one position in reverse traversal order. | |
| constexpr reverse_iterator | operator++ (int) |
| Advances one position in reverse traversal order. | |
| constexpr reverse_iterator & | operator-- () |
| Moves one position opposite to reverse traversal order. | |
| constexpr reverse_iterator | operator-- (int) |
| Moves one position opposite to reverse traversal order. | |
| constexpr reverse_iterator & | operator+= (difference_type offset) |
| Advances by a number of reverse positions. | |
| constexpr reverse_iterator & | operator-= (difference_type offset) |
| Moves opposite to reverse traversal by a number of positions. | |
| GAIA_NODISCARD constexpr reverse_iterator | operator+ (difference_type offset) const |
| Returns an iterator advanced in reverse traversal order. | |
| GAIA_NODISCARD constexpr reverse_iterator | operator- (difference_type offset) const |
| Returns an iterator moved opposite to reverse traversal order. | |
| GAIA_NODISCARD constexpr difference_type | operator- (const reverse_iterator &other) const |
| Computes the reverse distance from another iterator. | |
| GAIA_NODISCARD constexpr bool | operator== (const reverse_iterator &other) const |
| Checks whether two iterators have the same base position. | |
| GAIA_NODISCARD constexpr bool | operator!= (const reverse_iterator &other) const |
| Checks whether two iterators have different base positions. | |
| GAIA_NODISCARD constexpr bool | operator< (const reverse_iterator &other) const |
| Compares positions in reverse traversal order. | |
| GAIA_NODISCARD constexpr bool | operator> (const reverse_iterator &other) const |
| Compares positions in reverse traversal order. | |
| GAIA_NODISCARD constexpr bool | operator<= (const reverse_iterator &other) const |
| Compares positions in reverse traversal order. | |
| GAIA_NODISCARD constexpr bool | operator>= (const reverse_iterator &other) const |
| Compares positions in reverse traversal order. | |
Random-access iterator that traverses an underlying iterator in reverse. The stored iterator denotes the element following the value returned by dereference.
| It | Underlying random-access iterator type. |
| Diff | Signed type used for iterator distances. |
|
inlineexplicitconstexpr |
Constructs a reverse iterator from its forward base iterator.
| current | Iterator following the value returned by dereference. |
|
inlineconstexpr |
Returns the underlying forward iterator.
|
inlineconstexpr |
Checks whether two iterators have different base positions.
| other | Iterator to compare. |
|
inlineconstexpr |
Accesses the current element.
|
inlineconstexpr |
Returns an iterator advanced in reverse traversal order.
| offset | Number of positions to advance. |
|
inlineconstexpr |
Advances one position in reverse traversal order.
|
inlineconstexpr |
Advances one position in reverse traversal order.
|
inlineconstexpr |
Advances by a number of reverse positions.
| offset | Number of positions to advance. |
|
inlineconstexpr |
Computes the reverse distance from another iterator.
| other | Iterator used as the distance origin. |
|
inlineconstexpr |
Returns an iterator moved opposite to reverse traversal order.
| offset | Number of positions to retreat. |
|
inlineconstexpr |
Moves one position opposite to reverse traversal order.
|
inlineconstexpr |
Moves one position opposite to reverse traversal order.
|
inlineconstexpr |
Moves opposite to reverse traversal by a number of positions.
| offset | Number of positions to retreat. |
|
inlineconstexpr |
Accesses the current element through the underlying iterator.
|
inlineconstexpr |
Compares positions in reverse traversal order.
| other | Iterator to compare. |
|
inlineconstexpr |
Compares positions in reverse traversal order.
| other | Iterator to compare. |
|
inlineconstexpr |
Checks whether two iterators have the same base position.
| other | Iterator to compare. |
|
inlineconstexpr |
Compares positions in reverse traversal order.
| other | Iterator to compare. |
|
inlineconstexpr |
Compares positions in reverse traversal order.
| other | Iterator to compare. |
|
inlineconstexpr |
Accesses a reverse-relative element.
| offset | Number of reverse positions from the current element. |