|
|
constexpr | recursive_iterator (recursive_iterator const &other) noexcept=default |
|
constexpr | recursive_iterator (recursive_iterator &&other) noexcept=default |
|
constexpr recursive_iterator & | operator= (recursive_iterator const &other) noexcept=default |
|
constexpr recursive_iterator & | operator= (recursive_iterator &&other) noexcept=default |
| constexpr | recursive_iterator (parent_iterator parent_it, parent_iterator parent_it_end, child_iterator child_it) noexcept |
| | Create an iterator at an element inside a child container.
|
| constexpr | recursive_iterator (parent_iterator parent_it, parent_iterator parent_it_end) noexcept |
| | Create a begin iterator at the first child's first element.
|
| constexpr | recursive_iterator (parent_iterator parent_it_end) noexcept |
| | Create an end iterator one beyond the last child.
|
| constexpr parent_iterator | parent () const noexcept |
| | Get the current parent iterator.
|
| constexpr child_iterator | child () const noexcept |
| | Get the current child iterator.
|
| constexpr bool | at_end () const noexcept |
| | Check if the iterator is at end.
|
|
constexpr reference | operator* () const noexcept |
|
constexpr pointer | operator-> () const noexcept |
|
constexpr reference | operator[] (std::size_t i) const noexcept |
|
constexpr recursive_iterator & | operator++ () noexcept |
|
constexpr recursive_iterator & | operator-- () noexcept |
|
constexpr recursive_iterator | operator++ (int) noexcept |
|
constexpr recursive_iterator | operator-- (int) noexcept |
|
constexpr recursive_iterator & | operator+= (difference_type rhs) noexcept |
|
constexpr recursive_iterator & | operator-= (difference_type rhs) noexcept |
|
|
constexpr friend bool | operator== (recursive_iterator const &lhs, recursive_iterator const &rhs) noexcept |
|
constexpr friend std::strong_ordering | operator<=> (recursive_iterator const &lhs, recursive_iterator const &rhs) noexcept |
|
constexpr friend recursive_iterator | operator+ (recursive_iterator lhs, difference_type rhs) noexcept |
|
constexpr friend recursive_iterator | operator- (recursive_iterator lhs, difference_type rhs) noexcept |
|
constexpr friend recursive_iterator | operator+ (difference_type lhs, recursive_iterator rhs) noexcept |
|
constexpr friend difference_type | operator- (recursive_iterator const &lhs, recursive_iterator const &rhs) noexcept |
template<typename ParentIt>
class hi::v1::recursive_iterator< ParentIt >
An iterator which recursively iterates through nested containers.
Currently only recurses through two levels of containers.