functions  
[ zip_transform_view:: _iterator_ :: _iterator_
](/w/cpp/ranges/zip_transform_view/iterator/iterator "cpp/ranges/zip transform
view/iterator/iterator")  
[ zip_transform_view:: _iterator_ ::operator*
](/w/cpp/ranges/zip_transform_view/iterator/operator* "cpp/ranges/zip
transform view/iterator/operator*")  
[ zip_transform_view:: _iterator_ ::operator[]
](/w/cpp/ranges/zip_transform_view/iterator/operator_at "cpp/ranges/zip
transform view/iterator/operator at")  
[ zip_transform_view:: _iterator_ ::operator++  
zip_transform_view:: _iterator_ ::operator++  (int)  
zip_transform_view:: _iterator_ ::operator--  
zip_transform_view:: _iterator_ ::operator--  (int)  
zip_transform_view:: _iterator_ ::operator+=  
zip_transform_view:: _iterator_ ::operator-=
](/w/cpp/ranges/zip_transform_view/iterator/operator_arith "cpp/ranges/zip
transform view/iterator/operator arith")  
Non-member functions  
[ operator==  (zip_transform_view:: _iterator_ )  
operator<=> (zip_transform_view:: _iterator_ )
](/w/cpp/ranges/zip_transform_view/iterator/operator_cmp "cpp/ranges/zip
transform view/iterator/operator cmp")  
[ operator+  (zip_transform_view:: _iterator_ )  
operator-  (zip_transform_view:: _iterator_ )
](/w/cpp/ranges/zip_transform_view/iterator/operator_arith2 "cpp/ranges/zip
transform view/iterator/operator arith2")  
[ Sentinel ](/w/cpp/ranges/zip_transform_view/sentinel "cpp/ranges/zip
transform view/sentinel")  
Member functions  
[ zip_transform_view:: _sentinel_ :: _sentinel_
](/w/cpp/ranges/zip_transform_view/sentinel/sentinel "cpp/ranges/zip transform
view/sentinel/sentinel")  
Non-member functions  
[ operator==  (zip_transform_view:: _sentinel_ )
](/w/cpp/ranges/zip_transform_view/sentinel/operator_cmp "cpp/ranges/zip
transform view/sentinel/operator cmp")  
[ operator-  (zip_transform_view:: _sentinel_ )
](/w/cpp/ranges/zip_transform_view/sentinel/operator- "cpp/ranges/zip
transform view/sentinel/operator-")  
  
[ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/zip_transform_view/navbar_content&action=edit)

Defined in header ` [ <ranges> ](/w/cpp/header/ranges "cpp/header/ranges") ` |  |   
---|---|---  
template  < [ std::  move_constructible
](http://en.cppreference.com/w/cpp/concepts/move_constructible) F, [ ranges::
input_range  ](http://en.cppreference.com/w/cpp/ranges/input_range) ...  Views
>  
requires  (  [ ranges::  view  ](http://en.cppreference.com/w/cpp/ranges/view)
< Views  > && ...  )  && (  sizeof...  (  Views  )  > 0  )  &&  
[ std::  is_object_v  ](http://en.cppreference.com/w/cpp/types/is_object) < F
> && [ std::  regular_invocable
](http://en.cppreference.com/w/cpp/concepts/invocable) <  
F  & , [ ranges::  range_reference_t
](http://en.cppreference.com/w/cpp/ranges/iterator_t) < Views  > ...  > &&  
/*can-reference*/  < [ std::  invoke_result_t
](http://en.cppreference.com/w/cpp/types/result_of) <  
F  & , [ ranges::  range_reference_t
](http://en.cppreference.com/w/cpp/ranges/iterator_t) < Views  > ...  >>  
class  zip_transform_view  
:  public  [ ranges::  view_interface  ](http://en.cppreference.com/w/cpp/ranges/view_interface) < zip_transform_view  < F, Views...  >> |  (1)  |  (since C++23)   
namespace  views  {  
inline  constexpr  /*unspecified*/  zip_transform  =  /*unspecified*/  ;  
}  |  (2)  |  (since C++23)   
Call signature  |  |   
template  < class  F, [ ranges::  viewable_range
](http://en.cppreference.com/w/cpp/ranges/viewable_range) ...  Rs  >  
requires  /* see below */  
constexpr  auto  zip_transform  (  F  && f, Rs  && ...  rs  )  ;  |  |  (since C++23)   
|  |   
  
1)  ` zip_transform_view ` is a range adaptor that takes an invocable object
and one or more [ ` view ` s ](/w/cpp/ranges/view "cpp/ranges/view") , and
produces a [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") whose ` _i_ `
_th_ element is the result of applying the invocable object to the ` _i_ `
_th_ elements of all views.  
A type ` T ` models the exposition-only co