std::ranges::viewable_range
From cppreference.com
| Defined in header <ranges>
|
||
| template<class T> concept viewable_range = |
(since C++20) | |
The viewable_range concept is a refinement of range that describes a range that can be safely converted into a view.
The constant /*is-initializer-list*/<T> is true if and only if std::remove_cvref_t<T> is a specialization of std::initializer_list.
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 3481 | C++20 | viewable_range accepted an lvalue of a move-only view
|
rejects |
| P2415R2 | C++20 | viewable_range only accepted non-view rvalues that are borrowed_range
|
accepts more types |