User:Cooky/ranges/as rvalue view

@1@ A range adaptor that represents a view of underlying whose elements are rvalues.

@2@ Range adaptor object. Let be a subexpression and let  be. Then the expression is expression-equivalent to:
 * , if it is a well-formed expression and is ;
 * otherwise.

Data members
Typical implementations of only hold one non-static data member:
 * the underlying view of type (shown here as, the name is exposition only).

Member functions
{{member | {{small|std::ranges::as_rvalue_view::}}as_rvalue_view | {{dcl begin}} {{dcl | num=1 | since=c++23 |1= as_rvalue_view requires std::default_initializable = default; }} {{dcl | num=2 | since=c++23 | constexpr explicit as_rvalue_view(V base); }} {{dcl end}}

@1@ Value-initializes {{tt|base_}} via its default member initializer ({{c|1== V}}). @2@ Initializes {{tt|base_}} with {{c|std::move(base)}}.

Parameters
}}

Helper templates
This specialization of makes  satisfy  when the underlying view satisfies it.