std::experimental::ranges::Range

From cppreference.com
< cpp‎ | experimental‎ | ranges
Experimental
Technical Specification
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)
Experimental Non-TS
Pattern Matching
Linear Algebra
std::execution
Contracts
2D Graphics
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>