lazy split view")  
[ split_view  views::split  ](/w/cpp/ranges/split_view "cpp/ranges/split
view")  
[ views::counted  ](/w/cpp/ranges/view_counted "cpp/ranges/view counted")  
[ common_view  views::common  ](/w/cpp/ranges/common_view "cpp/ranges/common
view")  
  
  
  
|  [ reverse_view  views::reverse  ](/w/cpp/ranges/reverse_view
"cpp/ranges/reverse view")  
---  
[ as_const_view  views::as_const  ](/w/cpp/ranges/as_const_view "cpp/ranges/as
const view") (C++23)  (C++23)  
[ elements_view  views::elements  ](/w/cpp/ranges/elements_view
"cpp/ranges/elements view")  
[ keys_view  views::keys  ](/w/cpp/ranges/keys_view "cpp/ranges/keys view")  
[ values_view  views::values  ](/w/cpp/ranges/values_view "cpp/ranges/values
view")  
[ enumerate_view  views::enumerate  ](/w/cpp/ranges/enumerate_view
"cpp/ranges/enumerate view") (C++23)  (C++23)  
[ zip_view  views::zip  ](/w/cpp/ranges/zip_view "cpp/ranges/zip view")
(C++23)  (C++23)  
[ zip_transform_view  views::zip_transform  ](/w/cpp/ranges/zip_transform_view
"cpp/ranges/zip transform view") (C++23)  (C++23)  
  
|  [ adjacent_view  views::adjacent  ](/w/cpp/ranges/adjacent_view
"cpp/ranges/adjacent view") (C++23)  (C++23)  
---  
[ views::pairwise  ](/w/cpp/ranges/adjacent_view "cpp/ranges/adjacent view")
(C++23)  
[ adjacent_transform_view  views::adjacent_transform
](/w/cpp/ranges/adjacent_transform_view "cpp/ranges/adjacent transform view")
(C++23)  (C++23)  
[ views::pairwise_transform  ](/w/cpp/ranges/adjacent_transform_view
"cpp/ranges/adjacent transform view") (C++23)  
[ chunk_view  views::chunk  ](/w/cpp/ranges/chunk_view "cpp/ranges/chunk
view") (C++23)  (C++23)  
[ slide_view  views::slide  ](/w/cpp/ranges/slide_view "cpp/ranges/slide
view") (C++23)  (C++23)  
[ chunk_by_view  views::chunk_by  ](/w/cpp/ranges/chunk_by_view
"cpp/ranges/chunk by view") (C++23)  (C++23)  
[ stride_view  views::stride  ](/w/cpp/ranges/stride_view "cpp/ranges/stride
view") (C++23)  (C++23)  
[ cartesian_product_view  views::cartesian_product
](/w/cpp/ranges/cartesian_product_view "cpp/ranges/cartesian product view")
(C++23)  (C++23)  
  
[ Range generators ](/w/cpp/ranges#Range_generators "cpp/ranges")  
|  [ std::generator  ](/w/cpp/coroutine/generator "cpp/coroutine/generator")
(C++23)  
---  
  
[ Range adaptor objects ](/w/cpp/ranges#Range_adaptor_objects "cpp/ranges")  
[ Range adaptor closure objects ](/w/cpp/ranges#Range_adaptor_closure_objects
"cpp/ranges")  
|  [ range_adaptor_closure  ](/w/cpp/ranges/range_adaptor_closure
"cpp/ranges/range adaptor closure") (C++23)  
---  
  
[ Helper items ](/w/cpp/ranges#Helper_items "cpp/ranges")  
|  [ _copyable-box_  
_movable-box_ ](/w/cpp/ranges/copyable_wrapper "cpp/ranges/copyable wrapper")
(until C++23)  (C++23)  
---  
  
|  [ _simple-view_ ](/w/cpp/ranges#Helper_concepts "cpp/ranges")  
---  
[ _non-propagating-cache_ ](/w/cpp/ranges#Non-propagating_cache "cpp/ranges")  
  
|  
  
---  
  
  
  
[ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/navbar_content&action=edit)

Defined in header ` [ <ranges> ](/w/cpp/header/ranges "cpp/header/ranges") ` |  |   
---|---|---  
template  < [ ranges::  range
](http://en.cppreference.com/w/cpp/ranges/range) R  >  
requires [ std::  is_object_v
](http://en.cppreference.com/w/cpp/types/is_object) < R  >  
class  ref_view  
:  public  [ ranges::  view_interface  ](http://en.cppreference.com/w/cpp/ranges/view_interface) < ref_view  < R  >> |  |  (since C++20)   
|  |   
  
` ref_view ` is a [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") of the
elements of some other [ ` range ` ](/w/cpp/ranges/range "cpp/ranges/range") .
It wraps a reference to that ` range ` .

##  Contents

  * 1  Data members 
  * 2  Member functions 
    * 2.1  Inherited from  std::ranges::view_interface 
  * 3  std::ranges::ref_view::  ref_view 
    * 3.1  Parameters 
  * 4  std::ranges::ref_view::  base 
  * 5  std::ranges::ref_view::  begin 
  * 6  std::ranges::ref_view::  end 
  * 7  s