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

Defined in header ` [ <ranges> ](/w/cpp/header/ranges "cpp/header/ranges") ` |  |   
---|---|---  
template  < [ ranges::  forward_range
](http://en.cppreference.com/w/cpp/ranges/forward_range) V, [ std::
move_constructible
](http://en.cppreference.com/w/cpp/concepts/move_constructible) F, [ std::
size_t  ](http://en.cppreference.com/w/cpp/types/size_t) N  >  
requires [ ranges::  view  ](http://en.cppreference.com/w/cpp/ranges/view) < V
> && (  N  > 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  & ,  
/*REPEAT*/  (  [ ranges::  range_reference_t
](http://en.cppreference.com/w/cpp/ranges/iterator_t) < V  > , N  )  ...  > &&  
/*can-reference*/  < [ std::  invoke_result_t
](http://en.cppreference.com/w/cpp/types/result_of) < F  & ,  
/*REPEAT*/  (  [ ranges::  range_reference_t
](http://en.cppreference.com/w/cpp/ranges/iterator_t) < V  > , N  )  ...  >>  
class  adjacent_transform_view  
:  public  [ ranges::  view_interface  ](http://en.cppreference.com/w/cpp/ranges/view_interface) < adjacent_transform_view  < V, F, N  >> |  (1)  |  (since C++23)   
namespace  views  {  
template  < [ std::  size_t  ](http://en.cppreference.com/w/cpp/types/size_t)
N  >  
inline  constexpr  /* unspecified */  adjacent_transform  =  /* unspecified */
;  
}  |  (2)  |  (since C++23)   
namespace  views  {  
inline  conste