|
ACTS
Experiment-independent tracking
|
Sequentially iterate through multiple ranges of the same type. More...
#include <detray/utils/ranges/static_join.hpp>
Public Types | |
| using | difference_type = std::iter_difference_t<iterator_t> |
| Distance type of the underlying iterators. | |
| using | iterator_category |
| Iterator category supported by the underlying iterators. | |
| using | iterator_t = detray::detail::get_value_t<iterator_coll_t> |
| Iterator type used within each input range. | |
| using | pointer = typename std::iterator_traits<iterator_t>::pointer |
| Pointer type associated with the underlying iterator. | |
| using | reference = std::iter_reference_t<iterator_t> |
| Reference type associated with the underlying iterator. | |
| using | value_type = std::iter_value_t<iterator_t> |
| Element type yielded by dereferencing this iterator. | |
Public Member Functions | |
| constexpr | static_join_iterator ()=default |
| Default constructor required by LegacyIterator trait. | |
| constexpr | static_join_iterator (const iterator_coll_t &begins, const iterator_coll_t &ends) |
Construct from a collection of begins and ends positions. | |
| constexpr | static_join_iterator (const iterator_coll_t &begins, const iterator_coll_t &ends, iterator_t current, const std::size_t i) |
| Fully parametrized construction. | |
| constexpr auto | operator* () const -> decltype(auto) |
| constexpr auto | operator+= (const difference_type j) -> static_join_iterator & |
| Advance the joined iterator by j elements. | |
| constexpr auto | operator-- (int) -> static_join_iterator |
| Retreat and return the iterator's previous position. | |
| constexpr auto | operator-= (const difference_type j) -> static_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. | |
| constexpr auto | operator++ () -> static_join_iterator & |
| Increment current iterator and check for switch between ranges. | |
| constexpr auto | operator++ (int) -> static_join_iterator |
| Advance and return the iterator's previous position. | |
| constexpr auto | operator-- () -> static_join_iterator & |
| Decrement current iterator and check for switch between ranges. | |
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)
| iterator_coll_t | type of iterator collection of ranges to be joined. Can contain const iterators. |
| using detray::ranges::detail::static_join_iterator< iterator_coll_t >::iterator_category |
Iterator category supported by the underlying iterators.
|
constexpr |
Construct from a collection of begins and ends positions.
| begins | begin iterators in joined order |
| ends | end iterators in joined order |
|
constexpr |
Fully parametrized construction.
| begins | begin iterators in joined order |
| ends | end iterators in joined order |
| current | current iterator in the selected range |
| i | index of the selected range |
|
constexpr |
|
constexpr |
Increment current iterator and check for switch between ranges.
|
constexpr |
Advance 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 |
Retreat 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 |