| 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 |
| Range concepts | |||||||||||||||||
| |||||||||||||||||
| Range access | |||||||||||||||||
| Range primitives | |||||||||||||||||
Defined in header <experimental/ranges/range> | ||
template<class T> conceptbool View= Range<T>&& Semiregular<T>&&/* view-predicate<T> */; | (ranges TS) | |
template<class T> struct enable_view{}; | (ranges TS) | |
struct view_base{}; | (ranges TS) | |
The conceptView<T> specifies the semiregular rangeT has constant-time copy, move, and assignment operations.
The/* view-predicate<T> */ portion of the concept is determined as follows:
T is a specialization ofstd::initializer_list,std::set,std::multiset,std::unordered_set, orstd::unordered_multiset,false;T andconst T satisfyRange andranges::reference_t<ranges::iterator_t<T>> is not the same type asranges::reference_t<ranges::iterator_t<const T>>,false;