|
|
using | iterator_concept = std::conditional_t< stdex::ranges::random_access_range< Base >, std::random_access_iterator_tag, std::conditional_t< stdex::ranges::bidirectional_range< Base >, std::bidirectional_iterator_tag, std::conditional_t< stdex::ranges::forward_range< Base >, std::forward_iterator_tag, std::input_iterator_tag > >> |
| |
|
using | iterator_category = std::conditional_t< not std::is_reference_v< std::invoke_result_t< MCF &, stdex::ranges::range_reference_t< Base > >>, std::input_iterator_tag, typename stdex::iterator_traits< stdex::ranges::iterator_t< Base > >::iterator_category > |
| |
|
using | reference = std::invoke_result_t< MCF &, stdex::ranges::range_reference_t< Base > > |
| |
|
using | value_type = stdex::remove_cvref_t< std::invoke_result_t< MCF &, stdex::ranges::range_reference_t< Base > >> |
| |
|
using | difference_type = stdex::ranges::range_difference_t< Base > |
| |
|
using | pointer = void |
| |
|
|
constexpr | iterator (Parent &parent, stdex::ranges::iterator_t< Base > current) |
| |
|
template<bool Enable = Const, std::enable_if_t< Enable and stdex::convertible_to< stdex::ranges::iterator_t< V >, stdex::ranges::iterator_t< Base >>, int > = 0> |
| constexpr | iterator (iterator< not Const > i) |
| |
|
constexpr const stdex::ranges::iterator_t< Base > & | base () const &noexcept |
| |
|
constexpr stdex::ranges::iterator_t< Base > | base () && |
| |
|
decltype(auto) constexpr | operator* () const |
| |
|
template<bool Enable = true, std::enable_if_t< Enable and stdex::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 stdex::ranges::forward_range< Base >, int > = 0> |
| constexpr void | operator++ (int) |
| |
|
template<bool Enable = true, std::enable_if_t< Enable and stdex::ranges::forward_range< Base >, int > = 0> |
| constexpr iterator | operator++ (int) |
| |
|
template<bool Enable = true, std::enable_if_t< Enable and stdex::ranges::bidirectional_range< Base >, int > = 0> |
| constexpr iterator & | operator-- () |
| |
|
template<bool Enable = true, std::enable_if_t< Enable and stdex::ranges::bidirectional_range< Base >, int > = 0> |
| constexpr iterator | operator-- (int) |
| |
|
template<bool Enable = true, std::enable_if_t< Enable and stdex::ranges::random_access_range< Base >, int > = 0> |
| constexpr iterator & | operator+= (const difference_type &n) |
| |
|
template<bool Enable = true, std::enable_if_t< Enable and stdex::ranges::random_access_range< Base >, int > = 0> |
| constexpr iterator & | operator-= (const difference_type &n) |
| |
|
template<bool Enable = true, std::enable_if_t< Enable and stdex::ranges::random_access_range< Base >, int > = 0> |
| frienddecltype(auto) constexpr | iter_move (const iterator &i) noexcept(noexcept(stdex::invoke(*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 stdex::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 stdex::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 stdex::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 stdex::ranges::random_access_range< Base >, int > = 0> |
| constexpr difference_type | operator- (const iterator &x, const iterator &y) |
| |