zy_split_view
"cpp/ranges/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  >  
using  borrowed_iterator_t  =  /* see below */  ;  |  (1)  |  (since C++20)   
template  < [ ranges::  range
](http://en.cppreference.com/w/cpp/ranges/range) R  >  
using  borrowed_subrange_t  =  /* see below */  ;  |  (2)  |  (since C++20)   
|  |   
  
1)  std  ::  [ ranges::  iterator_t
](http://en.cppreference.com/w/cpp/ranges-ranges-placeholder/iterator_t) < R
> if ` R ` models [ ` borrowed_range ` ](/w/cpp/ranges/borrowed_range
"cpp/ranges/borrowed range") ,  [ std::ranges::dangling
](/w/cpp/ranges/dangling "cpp/ranges/dangling") otherwise.

2)  std  ::  [ ranges::  subrange
](http://en.cppreference.com/w/cpp/ranges/subrange) < std  ::  [ ranges::
iterator_t  ](http://en.cppreference.com/w/cpp/ranges-ranges-
placeholde