cpp/ranges/ref view

is a of the elements of some other. It wraps a reference to that.

Data members
behaves as if it only stores a member subobject pointing to the referenced range. The member is shown as here (the name is exposition-only).

Member functions
{{member|{{small|std::ranges::ref_view::}}ref_view|2= {{ddcl|since=c++20| template< /*different-from*/ T > requires std::convertible_to && requires { _FUN(std::declval); } constexpr ref_view( T&& t ); }}

Initializes {{tt|r_}} with {{c|std::addressof(static_cast(std::forward(t)))}}.

{{c|/*different-from*/}} is satisfied if and only if {{c|std::remove_cvref_t}} and {{c|std::remove_cvref_t}} are not the same type, and overloads of {{tt|_FUN}} are declared as {{c|1=void _FUN(R&); void _FUN(R&&) = delete;}}.

Parameters
}}

Helper templates
This specialization of makes  satisfy.