|
using | iterator_concept = std::conditional_t< ranges::random_access_range< Base >, std::random_access_iterator_tag, std::conditional_t< ranges::bidirectional_range< Base >, std::bidirectional_iterator_tag, std::conditional_t< ranges::forward_range< Base >, std::forward_iterator_tag, std::input_iterator_tag > >> |
|
using | reference = std::invoke_result_t< maybe_const< Const, F > &, ranges::range_reference_t< Base > > |
|
using | value_type = remove_cvref_t< reference > |
|
using | difference_type = ranges::range_difference_t< Base > |
|
using | pointer = void |
|
using | iterator_category = std::conditional_t< not std::is_reference_v< reference >, std::input_iterator_tag, typename std::iterator_traits< ranges::iterator_t< Base > >::iterator_category > |
|
|
constexpr | iterator (Parent &parent, ranges::iterator_t< Base > current) |
|
template<bool Enable = Const, std::enable_if_t< Enable and std::is_convertible_v< ranges::iterator_t< V >, ranges::iterator_t< Base >>, int > = 0> |
constexpr | iterator (iterator< not Const > i) |
|
constexpr const ranges::iterator_t< Base > & | base () const &noexcept |
|
constexpr ranges::iterator_t< Base > | base () && |
|
decltype(auto) constexpr | operator* () const |
|
template<bool Enable = true, std::enable_if_t< Enable and ranges::random_access_range< Base >, int > = 0> |
decltype(auto) constexpr | operator[] (difference_type n) const |
|
constexpr iterator & | operator++ () |
|
template<bool Enable = true, std::enable_if_t< Enable and not ranges::forward_range< Base >, int > = 0> |
constexpr void | operator++ (int) |
|
template<bool Enable = true, std::enable_if_t< Enable and ranges::forward_range< Base >, int > = 0> |
constexpr iterator | operator++ (int) |
|
template<bool Enable = true, std::enable_if_t< Enable and ranges::bidirectional_range< Base >, int > = 0> |
constexpr iterator & | operator-- () |
|
template<bool Enable = true, std::enable_if_t< Enable and ranges::bidirectional_range< Base >, int > = 0> |
constexpr iterator | operator-- (int) |
|
template<bool Enable = true, std::enable_if_t< Enable and ranges::random_access_range< Base >, int > = 0> |
constexpr iterator & | operator+= (const difference_type &n) |
|
template<bool Enable = true, std::enable_if_t< Enable and ranges::random_access_range< Base >, int > = 0> |
constexpr iterator & | operator-= (const difference_type &n) |
|
template<bool Enable = true, std::enable_if_t< Enable and ranges::random_access_range< Base >, int > = 0> |
frienddecltype(auto) constexpr | iter_move (const iterator &i) noexcept(noexcept(std::invoke(std::get< 0 >(i.parent_->fun_), *i.current_))) |
|
|
template<bool > |
struct | transform_view::sentinel |
|
constexpr bool | operator== (const iterator &x, const iterator &y) |
|
constexpr bool | operator!= (const iterator &x, const iterator &y) |
|
constexpr bool | operator< (const iterator &x, const iterator &y) |
|
constexpr bool | operator> (const iterator &x, const iterator &y) |
|
constexpr bool | operator<= (const iterator &x, const iterator &y) |
|
constexpr bool | operator>= (const iterator &x, const iterator &y) |
|
template<bool Enable = true, std::enable_if_t< Enable and ranges::random_access_range< Base >, int > = 0> |
constexpr iterator | operator+ (const iterator &i, const difference_type &n) |
|
template<bool Enable = true, std::enable_if_t< Enable and ranges::random_access_range< Base >, int > = 0> |
constexpr iterator | operator+ (const difference_type &n, const iterator &i) |
|
template<bool Enable = true, std::enable_if_t< Enable and ranges::random_access_range< Base >, int > = 0> |
constexpr iterator | operator- (const iterator &i, const difference_type &n) |
|
template<bool Enable = true, std::enable_if_t< Enable and ranges::random_access_range< Base >, int > = 0> |
constexpr difference_type | operator- (const iterator &x, const iterator &y) |
|