w/cpp/ranges/common_range "cpp/ranges/common range") .   
(public member function of ` std::ranges::view_interface<D> ` )  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/view_interface/dsc_back&action=edit)  
[ operator[]  ](/w/cpp/ranges/view_interface/operator_at "cpp/ranges/view interface/operator at") (C++20)  |  returns the n  th  element in the derived view. Provided if it satisfies [ ` random_access_range ` ](/w/cpp/ranges/random_access_range "cpp/ranges/random access range") .   
(public member function of ` std::ranges::view_interface<D> ` )  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/view_interface/dsc_operator_at&action=edit)  
  
###  [ [ edit
](/mwiki/index.php?title=cpp/ranges/zip_transform_view&action=edit&section=2
"Edit section: Deduction guides") ]  [ Deduction guides
](/w/cpp/ranges/zip_transform_view/deduction_guides "cpp/ranges/zip transform
view/deduction guides")

###  [ [ edit
](/mwiki/index.php?title=cpp/ranges/zip_transform_view&action=edit&section=3
"Edit section: Member types") ]  Member types

Member type  |  Definition   
---|---  
` _InnerView_ ` (private)  |  [ ranges::  zip_view  ](http://en.cppreference.com/w/cpp/ranges/zip_view) < Views...  > .   
(  exposition-only member type*  )  
` _ziperator_ ` (private)  | 

  * [ ranges::  iterator_t  ](http://en.cppreference.com/w/cpp/ranges-ranges-placeholder/iterator_t) < const  InnerView  > if  Const  is  true  , otherwise 
  * [ ranges::  iterator_t  ](http://en.cppreference.com/w/cpp/ranges-ranges-placeholder/iterator_t) < InnerView  > . 

  
(  exposition-only member type*  )  
` _zentinel_ ` (private)  | 

  * [ ranges::  sentinel_t  ](http://en.cppreference.com/w/cpp/ranges-ranges-placeholder/iterator_t) < const  InnerView  > if  Const  is  true  , otherwise 
  * [ ranges::  sentinel_t  ](http://en.cppreference.com/w/cpp/ranges-ranges-placeholder/iterator_t) < InnerView  > . 

  
(  exposition-only member type*  )  
  
###  [ [ edit
](/mwiki/index.php?title=cpp/ranges/zip_transform_view&action=edit&section=4
"Edit section: Data members") ]  Data members

Member object  |  Definition   
---|---  
` _zip__ ` (private)  |  An underlying view object of type ` _InnerView_ `   
(  exposition-only member object*  )  
` _fun__ ` (private)  |  A wrapped invocable object of type  [ ` _movable-box_ ` ](/w/cpp/ranges/copyable_wrapper "cpp/ranges/copyable wrapper") ` <F> `   
(  exposition-only member object*  )  
  
###  [ [ edit
](/mwiki/index.php?title=cpp/ranges/zip_transform_view&action=edit&section=5
"Edit section: Nested classes") ]  Nested classes

[ _ iterator  _ ](/w/cpp/ranges/zip_transform_view/iterator "cpp/ranges/zip transform view/iterator") (C++23)  |  the iterator type   
(  exposition-only member class template*  )  
---|---  
[ _ sentinel  _ ](/w/cpp/ranges/zip_transform_view/sentinel "cpp/ranges/zip transform view/sentinel") (C++23)  |  the sentinel type used when the underlying ` zip_view ` is not a [ ` common_range ` ](/w/cpp/ranges/common_range "cpp/ranges/common range")   
(  exposition-only member class template*  )  
  
###  [ [ edit
](/mwiki/index.php?title=cpp/ranges/zip_transform_view&action=edit&section=6
"Edit section: Notes") ]  Notes

[ Feature-test ](/w/cpp/utility/feature_test "cpp/utility/feature test") macro  |  Value  |  Std  |  Feature   
---|---|---|---  
[ ` __cpp_lib_ranges_zip ` ](/w/cpp/feature_test#cpp_lib_ranges_zip "cpp/feature test") |  202110L  |  (C++23)  |  std::ranges::zip_view  ,   
` std::ranges::zip_transform_view ` ,  
std::ranges::adjacent_view  ,  
std::ranges::adjacent_transform_view  
  
###  [ [ edit
](/mwiki/index.php?title=cpp/ranges/zip_transform_view&action=edit&section=7
"Edit section: Example") ]  Example

Run this code

    
    
    #include <array>
    #include <iostream>
    #include <list>
    #include <ranges>
    #include <vector>
     
    void print(auto const rem, auto const& r)
    {
        [std::cout](http: