Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::adaptor_base Struct Reference

Public Member Functions

 adaptor_base (adaptor_base &&)=default
 
 adaptor_base (adaptor_base const &)=default
 
 adaptor_base (detail::ignore_t, detail::ignore_t={}, detail::ignore_t={})
 
adaptor_baseoperator= (adaptor_base &&)=default
 
adaptor_baseoperator= (adaptor_base const &)=default
 

Static Public Member Functions

template<typename I >
static void advance (I &it, iter_difference_t< I > n)
 
template<typename Rng >
static constexpr auto begin (Rng &rng) noexcept(noexcept(ranges::begin(rng.base()))) -> decltype(ranges::begin(rng.base()))
 
template<typename I >
static iter_difference_t< I > distance_to (I const &it0, I const &it1)
 
template<typename I , typename S >
static constexpr bool empty (I const &it, S const &last)
 
template<typename Rng >
static constexpr auto end (Rng &rng) noexcept(noexcept(ranges::end(rng.base()))) -> decltype(ranges::end(rng.base()))
 
template<typename I >
static bool equal (I const &it0, I const &it1)
 
template<typename I >
static void next (I &it)
 
template<typename I >
static void prev (I &it)
 
template<typename I >
static iter_reference_t< I > read (I const &it, detail::adaptor_base_current_mem_fn={}) noexcept(noexcept(iter_reference_t< I >(*it)))
 

Member Function Documentation

◆ advance()

template<typename I >
static void ranges::adaptor_base::advance ( I &  it,
iter_difference_t< I >  n 
)
static
Precondition
requires random_access_iterator<I>

◆ distance_to()

template<typename I >
static iter_difference_t<I> ranges::adaptor_base::distance_to ( I const &  it0,
I const &  it1 
)
static
Precondition
requires sized_sentinel_for<I, I>

◆ empty()

template<typename I , typename S >
static constexpr bool ranges::adaptor_base::empty ( I const &  it,
S const &  last 
)
staticconstexpr
Precondition
requires sentinel_for<S, I>

◆ equal()

template<typename I >
static bool ranges::adaptor_base::equal ( I const &  it0,
I const &  it1 
)
static
Precondition
requires equality_comparable<I>

◆ next()

template<typename I >
static void ranges::adaptor_base::next ( I &  it)
static
Precondition
requires input_or_output_iterator<I>

◆ prev()

template<typename I >
static void ranges::adaptor_base::prev ( I &  it)
static
Precondition
requires bidirectional_iterator<I>

◆ read()

template<typename I >
static iter_reference_t<I> ranges::adaptor_base::read ( I const &  it,
detail::adaptor_base_current_mem_fn  = {} 
)
staticnoexcept
Precondition
requires input_or_output_iterator<I>