std::ranges::ref_view
|   Defined in header  <ranges>
  | 
||
|   template<Range R>     requires std::is_object_v<R>  | 
(since C++20) | |
ref_view is a View of the elements of some other Range. It wraps a reference to that Range.
Data members
std::ranges::ref_view::r_
|   R* r_ = nullptr; /* exposition-only */  | 
||
pointer to the referenced range
Member functions
std::ranges::ref_view::ref_view
|   constexpr ref_view() noexcept = default;  | 
(1) | |
|   template<__NotSameAs<ref_view> T>     requires /* see below */  | 
(2) | |
__NotSameAs is an exposition-only helper concept.
The expression in the requires-clause of (2) is equivalent to
ConvertibleTo<T, R&> && requires { FUN(declval<T>()); }, where the exposition-only functions FUN are declared as void FUN(R&); void FUN(R&&) = delete;.
Parameters
| t | - | range to reference | 
std::ranges::rev_view::base
|   constexpr R& base() const;  | 
||
Equivalent to return *r_;
std::ranges::ref_view::begin
|   constexpr iterator_t<R> begin() const;  | 
||
Equivalent to return ranges::begin(*r_);
std::ranges::ref_view::end
|   constexpr sentinel_t<R> end() const;  | 
||
Equivalent to return ranges::end(*r_);
std::ranges::ref_view::empty
|   constexpr bool empty() const requires requires { ranges::empty(*r_); };  | 
||
Equivalent to return ranges::empty(*r_);
std::ranges::ref_view::size
|   constexpr auto size() const     requires SizedRange<R>  | 
||
std::ranges::ref_view::data
|   constexpr auto data() const     requires ContiguousRange<R>  | 
||
Non-member functions
begin, end(std::ranges::ref_view)
|   friend constexpr iterator_t<R> begin(ref_view r);  | 
(1) | |
|   friend constexpr sentinel_t<R> end(ref_view r);  | 
(2) | |
These functions are not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when std::ranges::ref_view<R> is an associated class of the arguments.
Deduction guides
|   template<class R> ref_view(R&) -> ref_view<R>;  | 
||
Example
| This section is incomplete Reason: no example  | 
See also
|    (C++11)  | 
   CopyConstructible and CopyAssignable reference wrapper   (class template)  | 
   a View that includes all elements of a Range (alias template) (range adaptor object)  |