UNISTDX_IT_FIELD_ITERATOR
template <class Base, size_t N>
class sys::field_iterator

Iterator for containers of tuples.

Base
base iterator type

N
field index to iterate over

Field iterator works by aggregating another iterator over tuples and accessing only certain field of the tuple.

Base classes
  • public Base
Types
  • using reference = value_type &

    Field reference type.

  • using pointer = value_type *

    Field pointer type.

  • using value_type = std::tuple_element< N, base_value_type >::type

    Value type, which is equal to the corresponding field type.

  • using base_iterator = Base

    Base iterator type.

Methods
  • operator*() -> reference

    Dereference.

  • operator*() const -> const_reference

    Dereference.

  • operator->() -> pointer

    Access field by pointer.

  • operator->() const -> const_pointer

    Access field by pointer.

  • field_iterator(const field_iterator & rhs)

    Copy constructor.

  • field_iterator(base_iterator rhs)

    Construct field iterator aggregating base iterator rhs.

  • field_iterator()
template <size_t N, class T>
make_view(T first, T last) -> iterator_pair< field_iterator< T, N > >

Construct field iterator view from first and last.

template <size_t N, class C>
make_view(C & cont) -> iterator_pair< field_iterator< typename C::iterator, N > >

Construct field iterator view from container cont.