std::ranges::transform_view<V,F>::iterator
Von de.cppreference.net
template< bool Const >
class /*iterator*/
|
(seit C++20) (nur zur Veranschaulichung*) |
|
Der Rückgabetyp von transform_view::begin, und von transform_view::end wenn der zugrundeliegende View 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.
Elementtypen
| Element | Definition |
Parent (privat)
|
maybe-const <Const, ranges::transform_view<V, F>>(nur zur Erläuterung dienender Elementtyp*) |
Base (privat)
|
maybe-const <Const, V>(nur zur Erläuterung dienender Elementtyp*) |
iterator_concept
|
|
iterator_category(nur vorhanden, falls Base die Anforderungen vonforward_range erfüllt) |
Sei MCF gleich maybe-const <Const, F>.
Andernfalls sei
|
value_type
|
std::remove_cvref_t<std::invoke_result_t<MCF&, ranges::range_reference_t<Base>>>, wobei MCF für maybe-const <Const, F>
|
difference_type
|
ranges::range_difference_t<Base>
|
Datenelemente
| Element | Beschreibung |
maybe-const <Const, V> current_ (privat)
|
ein Iterator (nur zur Erläuterung dienendes Elementobjekt*) |
ranges::transform_view* parent_ (privat)
|
ein Zeiger auf das übergeordnete Objekt (nur zur Erläuterung dienendes Elementobjekt*) |
Memberfunktionen
|
Konstruiert einen Iterator
(öffentliche Elementfunktion) |
|
|
gibt den zugrundeliegenden Iterator zurück
(öffentliche Elementfunktion) |
|
|
greift auf das transformierte Element zu
(öffentliche Elementfunktion) |
|
|
greift auf ein Element per Index zu
(öffentliche Elementfunktion) |
|
|
bewegt den zugrundeliegenden Iterator vorwärts oder rückwärts
(öffentliche Elementfunktion) |
Nicht-Member-Funktionen
|
vergleicht die zugrundeliegenden Iteratoren
(Funktion) |
|
|
(C++20)
|
führt Iterator-Arithmetik durch
(Funktion) |
|
(C++20)
|
erhält eine Rvalue-Referenz auf das transformierte Element
(Funktion) |
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| P2259R1 | C++20 |
member
iterator_category
ist immer definiert
|
nur definiert wenn
Base
das Konzept
forward_range
modelliert
|
| LWG 3555 | C++20 |
die Definition von
iterator_concept
ignoriert const
|
wurde angepasst um const zu berücksichtigen |
| LWG 3798 | C++20 |
iterator_category
ist input-only wenn Transformationsergebnis Rvalue-Referenz ist
|
kann eine stärkere Kategorie haben |