Range-v3
Range algorithms, views, and actions for the Standard Library
 All Classes Files Functions Typedefs Modules Pages
ranges::v3::range_access Struct Reference

Instances and minimal complete definitions

struct  base_range
 
struct  base_range< RangeAdaptor const >
 
struct  BidirectionalCursorConcept
 
struct  ForwardCursorConcept
 
struct  InfiniteCursorConcept
 
struct  InputCursorConcept
 
struct  RandomAccessCursorConcept
 
struct  range_adaptor
 
struct  range_facade
 

Public Types

template<typename Cur >
using cursor_difference_t = typename cursor_difference< Cur >::type
 
template<typename Cur >
using cursor_value_t = typename cursor_value< Cur >::type
 
template<typename Cur >
using single_pass_t = typename single_pass< Cur >::type
 

Static Public Member Functions

template<typename Rng >
static auto begin_cursor (Rng &rng) -> decltype(rng.begin_cursor())
 
template<typename Rng >
static auto end_cursor (Rng &rng) -> decltype(rng.end_cursor())
 
template<typename Rng >
static auto begin_adaptor (Rng &rng) -> decltype(rng.begin_adaptor())
 
template<typename Rng >
static auto end_adaptor (Rng &rng) -> decltype(rng.end_adaptor())
 
template<typename Cur >
static auto current (Cur const &pos) -> decltype(pos.current())
 
template<typename Cur >
static auto next (Cur &pos) -> decltype(pos.next())
 
template<typename Cur >
static constexpr auto done (Cur const &pos) -> decltype(pos.done())
 
template<typename Cur >
static auto equal (Cur const &pos0, Cur const &pos1) -> decltype(pos0.equal(pos1))
 
template<typename Cur , typename S >
static constexpr auto empty (Cur const &pos, S const &end) -> decltype(end.equal(pos))
 
template<typename Cur >
static auto prev (Cur &pos) -> decltype(pos.prev())
 
template<typename Cur , typename D >
static auto advance (Cur &pos, D n) -> decltype(pos.advance(n))
 
template<typename Cur >
static auto distance_to (Cur const &pos0, Cur const &pos1) -> decltype(pos0.distance_to(pos1))
 
template<typename Cur , typename S >
static Cur cursor (basic_iterator< Cur, S > it)
 
template<typename S >
static S sentinel (basic_sentinel< S > s)