Namensräume
Varianten
Aktionen

std::ranges::transform_view<V,F>::iterator

Von cppreference.com
 
 
Bereichsbibliothek
Range-Adaptoren
 
 
template< bool Const >
class /*iterator*/
(seit C++20)
(nur Exposition*)

Der Rückgabetyp von transform_view::begin und von transform_view::end, wenn die zugrunde liegende Ansicht ein common_range ist.

Der Typ /*iterator*/<true> wird von den const-qualifizierten Überladungen zurückgegeben. Der Typ /*iterator*/<false> wird von den nicht-const-qualifizierten Überladungen zurückgegeben.

Inhalt

[edit] Member types

Mitgliedertyp Definition
Parent (privat) maybe-const <Const, ranges::transform_view<V, F>>
((nur zur Veranschaulichung)*)
Base (private) maybe-const <Const, V>
((nur zur Veranschaulichung)*)
iterator_concept
iterator_category
(nur vorhanden, wenn Base modelliert
forward_range)
Sei MCF maybe-const <Const, F>.

Andernfalls sei C std::iterator_traits<ranges::iterator_t<Base>>::iterator_category.

value_type std::remove_cvref_t<std::invoke_result_t<MCF&, ranges::range_reference_t<Base>>>, wobei MCF maybe-const <Const, F> bezeichnet
difference_type ranges::range_difference_t<Base>

[edit] Data members

Member-Name Definition
current_ (private) Ein Iterator in (möglicherweise const-qualifiziertes) V.
((exposition-only member object*)
parent_ (privat) Ein Zeiger auf die Eltern-transform_view.
((exposition-only member object*)

[edit] Member functions

Konstruiert einen Iterator
(öffentliche Memberfunktion)
gibt den zugrundeliegenden Iterator zurück
(öffentliche Memberfunktion)
greift auf das transformierte Element zu
(öffentliche Memberfunktion)
greift per Index auf ein Element zu
(öffentliche Memberfunktion)
bewegt den zugrundeliegenden Iterator vorwärts oder rückwärts
(öffentliche Memberfunktion)

[edit] Non-member functions

vergleicht die zugrundeliegenden Iteratoren
(Funktion)
führt Iterator-Arithmetik durch
(Funktion)
(C++20)
erhält eine rvalue-Referenz auf das transformierte Element
(Funktion)

[edit] Defect reports

Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
P2259R1 C++20 iterator_category ist immer definiert definiert nur, wenn Base forward_range modelliert
LWG 3555 C++20 Die Definition von iterator_concept ignoriert const wird betrachtet
LWG 3798 C++20 iterator_category ist nur input, wenn das Transformationsergebnis eine rvalue-Referenz ist kann eine stärkere Kategorie haben