std::experimental::ranges::Range

From cppreference.com
< cpp‎ | experimental‎ | ranges
 
 
Technical specifications
Filesystem library (filesystem TS)
Library fundamentals (library fundamentals TS)
Library fundamentals 2 (library fundamentals TS v2)
Library fundamentals 3 (library fundamentals TS v3)
Extensions for parallelism (parallelism TS)
Extensions for parallelism 2 (parallelism TS v2)
Extensions for concurrency (concurrency TS)
Extensions for concurrency 2 (concurrency TS v2)
Concepts (concepts TS)
Ranges (ranges TS)
Reflection (reflection TS)
Mathematical special functions (special functions TR)
 
 
Ranges library
Range concepts
Range access
Range primitives
                              
                              

 
Defined in header <experimental/ranges/range>
template < class T >

concept bool Range =
  requires(T&& t) {
    ranges::begin(t); /* not necessarily equality-preserving (see below) */
    ranges::end(t);

  };
(ranges TS)

Given an lvalue t of type std::remove_reference_t<T>, Range<T> is satisfied only if