OpenKalman
Public Types | Public Member Functions | Friends | List of all members
OpenKalman::stdex::ranges::transform_view< V, F >::iterator< Const > Struct Template Reference

Public Types

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
 

Public Member Functions

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 iteratoroperator++ ()
 
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 iteratoroperator-- ()
 
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 iteratoroperator+= (const difference_type &n)
 
template<bool Enable = true, std::enable_if_t< Enable and stdex::ranges::random_access_range< Base >, int > = 0>
constexpr iteratoroperator-= (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_)))
 

Friends

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)
 

The documentation for this struct was generated from the following file: