Iterator transforming the referenced elements. More...
#include <eagine/iterator.hpp>
Public Types | |
using | value_type = T |
Alias for value type. | |
using | reference = const T & |
Alias for pointer type. | |
using | pointer = const T * |
Alias for pointer type. | |
![]() | |
using | reference = const Iterator & |
Alias for reference type. | |
using | pointer = const Iterator * |
Alias for pointer type. | |
using | iterator_category = std::random_access_iterator_tag |
Iterator caregoty. | |
![]() | |
using | value_type = Iterator |
Alias for the value type. | |
using | difference_type = decltype(std::declval< Iterator >() - std::declval< Iterator >()) |
Alias for the difference type. | |
Public Member Functions | |
constexpr | basic_transforming_iterator ()=default |
Default constructor. | |
constexpr | basic_transforming_iterator (Iterator iter, Transform transf) |
Initialization for the underlying iterator and transform callable. | |
constexpr auto | operator* () const -> const T & |
Dereference operation. | |
![]() | |
constexpr auto | operator* () const noexcept -> const Iterator & |
Dereference operator. | |
![]() | |
constexpr | basic_iterable_type ()=default |
Default constructor. | |
constexpr | basic_iterable_type (Iterator value) noexcept |
Initializing constructor. | |
constexpr | operator Iterator () const noexcept |
Explicit conversion to the wrapped iterable type. | |
constexpr auto | operator++ () noexcept -> auto & |
Pre-increment operator. | |
constexpr auto | operator++ (int) noexcept -> Derived |
Post-increment operator. | |
constexpr auto | operator+= (difference_type d) noexcept -> auto & |
Addition operator. | |
constexpr auto | operator-- () noexcept -> auto & |
Pre-decrement operator. | |
constexpr auto | operator-- (int) noexcept -> Derived |
Post-decrement operator. | |
constexpr auto | operator-= (difference_type d) noexcept -> auto & |
Subtraction operator. | |
Iterator transforming the referenced elements.
Iterator | the underlying iterator type. |
T | the transformed value type of this iterator. |
S | the value type of the underlying iterator. |
Transform | type of the transfomation callable. |
Derived | the type derived from this template. |