_view::sentinel 
    * 9.64  Class template  std::ranges::zip_view 
    * 9.65  Class template  std::ranges::zip_view::iterator 
    * 9.66  Class template  std::ranges::zip_view::sentinel 
    * 9.67  Class template  std::ranges::zip_transform_view 
    * 9.68  Class template  std::ranges::zip_transform_view::iterator 
    * 9.69  Class template  std::ranges::zip_transform_view::sentinel 
    * 9.70  Class template  std::ranges::adjacent_view 
    * 9.71  Class template  std::ranges::adjacent_view::iterator 
    * 9.72  Class template  std::ranges::adjacent_view::sentinel 
    * 9.73  Class template  std::ranges::adjacent_transform_view 
    * 9.74  Class template  std::ranges::adjacent_transform_view::iterator 
    * 9.75  Class template  std::ranges::adjacent_transform_view::sentinel 
    * 9.76  Class template  std::ranges::chunk_view  for input_ranges 
    * 9.77  Class template  std::ranges::chunk_view::outer_iterator  for input_ranges 
    * 9.78  Class template  std::ranges::chunk_view::outer_iterator::value_type  for input_ranges 
    * 9.79  Class template  std::ranges::chunk_view::inner_iterator  for input_ranges 
    * 9.80  Class template  std::ranges::chunk_view  for forward_ranges 
    * 9.81  Class template  std::ranges::chunk_view::iterator  for forward_ranges 
    * 9.82  Class template  std::ranges::slide_view 
    * 9.83  Class template  std::ranges::slide_view::iterator 
    * 9.84  Class template  std::ranges::slide_view::sentinel 
    * 9.85  Class template  std::ranges::chunk_by_view 
    * 9.86  Class template  std::ranges::chunk_by_view::iterator 
    * 9.87  Class template  std::ranges::stride_view 
    * 9.88  Class template  std::ranges::stride_view::iterator 
    * 9.89  Class template  std::ranges::cartesian_product_view 
    * 9.90  Class template  std::ranges::cartesian_product_view::iterator 
  * 10  Defect reports 

  
---  
  
###  [ [ edit ](/mwiki/index.php?title=cpp/header/ranges&action=edit&section=1
"Edit section: Namespace aliases") ]  Namespace aliases

namespace  std  {  
namespace  views  =  ranges  ::  views  ;  
}  |  |   
---|---|---  
|  |   
  
The namespace alias ` std::views ` is provided as a shorthand for `
std::ranges::views ` .

###  Includes  
  
---  
[ <compare> ](/w/cpp/header/compare "cpp/header/compare") (C++20)  |  [ Three-way comparison operator ](/w/cpp/language/operator_comparison#Three-way_comparison "cpp/language/operator comparison") support  [ [edit] ](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/header/dsc_compare&action=edit)  
[ <initializer_list> ](/w/cpp/header/initializer_list "cpp/header/initializer list") (C++11)  |  [ std::initializer_list ](/w/cpp/utility/initializer_list "cpp/utility/initializer list") class template  [ [edit] ](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/header/dsc_initializer_list&action=edit)  
[ <iterator> ](/w/cpp/header/iterator "cpp/header/iterator") |  [ Range iterators ](/w/cpp/iterator "cpp/iterator") [ [edit] ](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/header/dsc_iterator&action=edit)  
  
###  Concepts  
  
#####  Range concepts  
  
Defined in namespace ` std::ranges `  
[ ranges::range  ](/w/cpp/ranges/range "cpp/ranges/range") (C++20)  |  specifies that a type is a range, that is, it provides a ` begin ` iterator and an ` end ` sentinel   
(concept)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/dsc_range&action=edit)  
[ ranges::borrowed_range  ](/w/cpp/ranges/borrowed_range "cpp/ranges/borrowed range") (C++20)  |  specifies that a type is a [ ` range ` ](/w/cpp/ranges/range "cpp/ranges/range") and iterators obtained from an expression of it can be safely returned without danger of dangling   
(concept)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/dsc_borrowed_range&action=edit)  
[ ranges::sized_range  ](/w/cpp/ranges/sized_range "cpp/ranges/sized range") (C++20)  |  specifies that a ra