template <typename Soa, size_t... Columns>
iterator class
RandomAccessIterator for SoA types.
Public types
-
using difference_type = std::
ptrdiff_t - Signed integer difference type used by the corresponding SoA type.
-
using iterator_category = std::
random_access_iterator_tag - This iterator type is a RandomAccessIterator.
-
using reference = row_
type - Alias for row_
type. -
using row_type = soagen::
row_type<Soa, Columns...> - The soagen::
row type dereferenced by this iterator. -
using size_type = std::
size_t - Unsigned integer size type used by the corresponding SoA type.
- using soa_ref = detail::coerce_ref<Soa>
- Cvref-qualified version of soa_
type. - using soa_type = detail::remove_cvref<Soa>
- Base SoA type for this iterator.
-
using value_type = row_
type - Alias for row_
type.
Constructors, destructors, conversion operators
Public functions
Decrementing
-
auto operator-(const iterator& it,
difference_
type n) → iterator constexpr noexcept - Returns a copy of an iterator decremented by some arbitrary number of rows.
- auto operator--(iterator& it) → iterator& constexpr noexcept
- Decrements the iterator by one row (pre-fix).
- auto operator--(iterator& it, int) → iterator constexpr noexcept
- Decrements the iterator by one row (post-fix).
-
auto operator-=(iterator& it,
difference_
type n) → iterator& constexpr noexcept - Decrements the iterator by some arbitrary number of rows.
Dereferencing
- auto operator*() const → reference constexpr noexcept
- Returns the row the iterator refers to.
-
auto operator->() const → detail::arrow_proxy<row_
type> constexpr noexcept - Returns the row the iterator refers to.
-
auto operator[](difference_
type offset) const → reference constexpr noexcept - Returns the row at some arbitrary offset from the one the iterator refers to.
Difference
-
SOAGEN_CONSTRAINED_TEMPLATE((same_
table_ type<Soa, T>), typename T, size_t... Cols) const expr difference_type operator-(const iterator< T - Returns the difference between two iterators.
Incrementing
-
auto operator+(const iterator& it,
difference_
type n) → iterator constexpr noexcept - Returns a copy of an iterator incremented by some arbitrary number of rows.
- auto operator++(iterator& it) → iterator& constexpr noexcept
- Increments the iterator by one row (pre-fix).
- auto operator++(iterator& it, int) → iterator constexpr noexcept
- Increments the iterator by one row (post-fix).
-
auto operator+=(iterator& it,
difference_
type n) → iterator& constexpr noexcept - Increments the iterator by some arbitrary number of rows.