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

Public Member Functions

 adaptor_base (adaptor_base &&)=default
 
 adaptor_base (adaptor_base const &)=default
 
 adaptor_base (detail::any, detail::any={}, detail::any={})
 
template<typename Rng >
range_iterator_t< base_range_t< Rng > > begin (Rng &rng) const
 
template<typename Rng >
range_sentinel_t< base_range_t< Rng > > end (Rng &rng) const
 
adaptor_baseoperator= (adaptor_base &&)=default
 
adaptor_baseoperator= (adaptor_base const &)=default
 

Static Public Member Functions

template<typename I , requires = (RandomAccessIterator<I>())>
static void advance (I &it, iterator_difference_t< I > n)
 
template<typename I , requires = (SizedSentinel<I, I>())>
static iterator_difference_t< I > distance_to (I const &it0, I const &it1)
 
template<typename I , typename S , requires = (Sentinel<S, I>())>
static constexpr bool empty (I const &it, S const &end)
 
template<typename I , requires = (EqualityComparable<I>())>
static bool equal (I const &it0, I const &it1)
 
template<typename I , requires = (Iterator<I>())>
static iterator_reference_t< I > get (I const &it, detail::adaptor_base_current_mem_fn={}) noexcept(noexcept(iterator_reference_t< I >(*it)))
 
template<typename I , requires = (Iterator<I>())>
static void next (I &it)
 
template<typename I , requires = (BidirectionalIterator<I>())>
static void prev (I &it)