BaseIteratorTraits | Define the iterator traits class of the underlying iterator. |
ResultType | Define the result type returned by the functor. This is not necessarily the same type as the dereference of the iterator. In C++11, the result type can be determined automatically. Note that various iterations of the language standard might want to instead use std::result_of or std::invoke_result (which have been variously added and then deprecated), but the following works from C++11 onwards. |
difference_type | Type used to represent distances between iterators. |
iterator_category | Define the iterator category of the transform iterator. If the functor returns a reference type, we pass through the iterator category of the underlying iterator, otherwise we use the input iterator tag (because all the other tags require that dereferencing produces a reference). |
pointer | |
reference | Define the remaining standard types of the transform iterator. |
value_type | Value type produced by applying the functor to a dereferenced underlying iterator. |