|
ACTS
Experiment-independent tracking
|
Sequentially iterate through multiple ranges of the same type. More...
#include <detray/utils/ranges/join.hpp>
Public Types | |
| using | difference_type = std::iter_difference_t<iterator_t> |
| Distance type of the inner iterator. | |
| using | inner_iterator_t |
| Iterator used to traverse each inner range. | |
| using | iterator_category |
| Iterator category supported by the inner iterator. | |
| using | iterator_t = inner_iterator_t |
| Iterator type of the current inner range. | |
| using | outer_iterator_t |
| Iterator used to traverse the outer range of ranges. | |
| using | outer_value_t = decltype(*std::declval<outer_iterator_t>()) |
| Reference type obtained from the outer iterator. | |
| using | pointer = typename std::iterator_traits<iterator_t>::pointer |
| Pointer type associated with the inner iterator. | |
| using | reference = std::iter_reference_t<iterator_t> |
| Reference type yielded by the inner iterator. | |
| using | value_type = std::iter_value_t<iterator_t> |
| Value yielded by dereferencing the join iterator. | |
Public Member Functions | |
| constexpr | join_iterator ()=default |
| Default constructor required by LegacyIterator trait. | |
| constexpr | join_iterator (outer_iterator_t begin, outer_iterator_t end) |
| Construct from range of ranges (. | |
| constexpr decltype(auto) | operator* () const |
| constexpr auto | operator+= (const difference_type j) -> join_iterator & |
| Advance the joined iterator by j elements. | |
| constexpr auto | operator-= (const difference_type j) -> join_iterator & |
| Retreat the joined iterator by j elements. | |
| constexpr decltype(auto) | operator[] (const difference_type i) const |
| Return the element at an offset from this position. | |
| auto | operator++ () -> join_iterator & |
| Increment current iterator and check for switch between ranges. | |
| constexpr auto | operator++ (int) -> join_iterator |
| Increment and return the iterator's previous position. | |
| constexpr auto | operator-- () -> join_iterator & |
| Decrement current iterator and check for switch between ranges. | |
| constexpr auto | operator-- (int) -> join_iterator |
| Decrement and return the iterator's previous position. | |
Sequentially iterate through multiple ranges of the same type.
Once the sentinel of one range is reached, set the current iterator to the next ranges 'begin' (or 'end' if decrementing)
| range_t | a range that contains the ranges to be joined. |
| using detray::ranges::detail::join_iterator< range_t >::inner_iterator_t |
Iterator used to traverse each inner range.
| using detray::ranges::detail::join_iterator< range_t >::iterator_category |
Iterator category supported by the inner iterator.
| using detray::ranges::detail::join_iterator< range_t >::outer_iterator_t |
Iterator used to traverse the outer range of ranges.
|
constexpr |
Construct from range of ranges (.
| begin | and |
| end | ) |
|
constexpr |
| auto detray::ranges::detail::join_iterator< range_t >::operator++ | ( | ) | ->join_iterator & |
Increment current iterator and check for switch between ranges.
|
constexpr |
Increment and return the iterator's previous position.
|
constexpr |
Advance the joined iterator by j elements.
| j | number of elements to advance |
|
constexpr |
Decrement current iterator and check for switch between ranges.
|
constexpr |
Decrement and return the iterator's previous position.
|
constexpr |
Retreat the joined iterator by j elements.
| j | number of elements to retreat |
|
constexpr |
Return the element at an offset from this position.
| i | zero-based offset from this iterator |