std::experimental::ranges:: View
From cppreference.net
<
cpp
|
experimental
|
ranges
|
Definiert in Header
<experimental/ranges/range>
|
||
|
template
<
class
T
>
concept bool View = Range < T > && Semiregular < T > && /* view-predicate<T> */ ; |
(ranges TS) | |
|
template
<
class
T
>
struct enable_view { } ; |
(ranges TS) | |
|
struct
view_base
{
}
;
|
(ranges TS) | |
Das Konzept
View<T>
spezifiziert, dass der semireguläre Bereich
T
konstante Kopier-, Verschiebe- und Zuweisungsoperationen aufweist.
Der /* view-predicate<T> */ Teil des Konzepts wird wie folgt bestimmt:
- falls der qualifizierte Bezeichner ranges:: enable_view < T > :: type gültig ist und einen Typ bezeichnet, ranges:: enable_view < T > :: type :: value ;
- andernfalls, falls std:: is_base_of_v < ranges:: view_base , T > gleich true ist, true ;
-
andernfalls, falls
Teine Spezialisierung von std::initializer_list , std::set , std::multiset , std::unordered_set , oder std::unordered_multiset ist, false ; -
andernfalls, falls sowohl
Tals auchconst TRangeerfüllen und ranges :: reference_t < ranges:: iterator_t < T >> nicht derselbe Typ ist wie ranges :: reference_t < ranges:: iterator_t < const T >> , false ; - andernfalls, true .