std::ranges::transform_view<V,F>::iterator
From cppreference.com
 
 
 < cpp | ranges | transform view 
 
 
 C++ 
 Feature test macros (C++20)
 Concepts library (C++20)
 Metaprogramming library (C++11)
 Ranges library (C++20)
 Filesystem library (C++17)
 Concurrency support library (C++11)
 Execution control library (C++26)
Ranges library 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
(exposition only*)
 
 
(present only if
 
 
 
(exposition-only member object*)
 
(exposition-only member object*)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
	
		
(C++23)(C++23)
  (C++23)(C++23)
(C++23)(C++23)
  (C++26)(C++26)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
  (C++23)(C++23)
(C++23)
(C++23)(C++23)
(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)
    std::ranges::transform_view 
 
(C++26)
 Iterator
template< bool Const >
class /*iterator*/
 
 (since C++20) class /*iterator*/
(exposition only*)
The return type of transform_view::begin, and of transform_view::end when the underlying view is a common_range.
The type /*iterator*/<true> is returned by the const-qualified overloads. The type /*iterator*/<false> is returned by the non-const-qualified overloads.
[edit] Member types
 Member type
 Definition
iterator_concept
 
- std::random_access_iterator_tag , if Basemodelsrandom_access_range,
- std::bidirectional_iterator_tag , if Basemodelsbidirectional_range,
- std::forward_iterator_tag , if Basemodelsforward_range,
- std::input_iterator_tag otherwise.
iterator_category(present only if
Base modelsforward_range)
 Let MCF be maybe-const  <Const, F>.
- std::input_iterator_tag , if std::invoke_result_t <MCF&, ranges::range_reference_t <Base>> is not a reference.
Otherwise, let C be std::iterator_traits <ranges::iterator_t <Base>>::iterator_category.
- std::random_access_iterator_tag , if Cis std::contiguous_iterator_tag ;
- C, otherwise.
value_type
 std::remove_cvref_t <std::invoke_result_t <MCF&, ranges::range_reference_t <Base>>>, where MCF denotes maybe-const  <Const, F>
difference_type
 ranges::range_difference_t <Base>
[edit] Data members
 Member name
 Definition
current_ (private)
 An iterator into (possibly const-qualified) V.(exposition-only member object*)
parent_ (private)
 A pointer to parent transform_view.(exposition-only member object*)
[edit] Member functions
 
 advances or decrements the underlying iterator 
(public member function)
(public member function)
[edit] Non-member functions
 
 compares the underlying iterators 
(function)
(function)
[edit] Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior | 
|---|---|---|---|
| P2259R1 | C++20 | member iterator_categoryis always defined | defined only if Basemodelsforward_range | 
| LWG 3555 | C++20 | the definition of iterator_conceptignores const | made to consider | 
| LWG 3798 | C++20 | iterator_categoryis input-only if transformation result is rvalue reference | may have a stronger category |