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 auto advance (I &it, iter_difference_t< I > n) -> void requires random_access_iterator< I >
 
template<typename Rng >
static constexpr auto begin (Rng &rng) noexcept(noexcept(decltype(ranges::begin(rng.base()))(ranges::begin(rng.base())))) -> decltype(ranges::begin(rng.base()))
 
template<typename I >
static auto distance_to (I const &it0, I const &it1) -> iter_difference_t< I > requires sized_sentinel_for< I, I >
 
template<typename I , typename S >
static constexpr auto empty (I const &it, S const &last) -> bool requires sentinel_for< S, I >
 
template<typename Rng >
static constexpr auto end (Rng &rng) noexcept(noexcept(decltype(ranges::end(rng.base()))(ranges::end(rng.base())))) -> decltype(ranges::end(rng.base()))
 
template<typename I >
static auto equal (I const &it0, I const &it1) -> bool requires equality_comparable< I >
 
template<typename I >
static auto next (I &it) -> void requires input_or_output_iterator< I >
 
template<typename I >
static auto prev (I &it) -> void requires bidirectional_iterator< I >
 
template<typename I >
static auto read (I const &it, detail::adaptor_base_current_mem_fn={}) noexcept(noexcept(iter_reference_t< I >(*it))) -> iter_reference_t< I > requires input_or_output_iterator< I >