std::ranges::transform_view<V,F>::iterator
Von cppreference.com
< cpp | ranges | transform view
| 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 modelliertforward_range)
|
Sei MCF maybe-const <Const, F>.
Andernfalls sei
|
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) | |
| (C++20) |
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 |