Namensräume
Varianten
Aktionen

std::projected_value_t

Von cppreference.com
< cpp‎ | iterator
 
 
Iterator-Bibliothek
Iterator-Konzepte
Iterator-Primitive
Algorithmus-Konzepte und Hilfsprogramme
Indirekte aufrufbare Konzepte
Gemeinsame Algorithmus-Anforderungen
(C++20)
(C++20)
(C++20)
Dienstprogramme
(C++20)
projected_value_t
(C++26)
Iterator-Adapter
Bereichszugriff
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
(C++17)
(C++17)
 
Definiert in Header <iterator>
template< std::indirectly_readable I,

          std::indirectly_regular_unary_invocable<I> Proj >
using projected_value_t =

    std::remove_cvref_t<std::invoke_result_t<Proj&, std::iter_value_t<I>&>>;
(seit C++26)

Der Alias-Template projected_value_t ermittelt den Werttyp, indem er jede Referenz und die obersten cv-Qualifizierer des Ergebnistyps der Anwendung von Proj auf std::iter_value_t<I>& entfernt.

projected_value_t wird verwendet, um den Standard-Werttyp in einigen Algorithmen wie z.B. ranges::contains zu bestimmen.

Inhalt

[bearbeiten] Template-Parameter

I - ein indirekt lesbarer Typ
Proj - Projektion angewendet auf einen lvalue-Referenz auf den Werttyp von I

[bearbeiten] Anmerkungen

Feature-Test-Makro Wert Std Feature
__cpp_lib_algorithm_default_value_type 202403L (C++26) Standard-Template-Typ für Algorithmenwerte, die std::projected_value_t verwenden

[bearbeiten] Beispiel

[bearbeiten] Siehe auch

berechnet das Ergebnis des Aufrufs eines aufrufbaren Objekts auf das Ergebnis der Dereferenzierung einer Menge von indirectly_readable Typen
(Alias-Vorlage)[bearbeiten]
(C++20)
Hilfsvorlage zur Spezifizierung der Einschränkungen für Algorithmen, die Projektionen akzeptieren
(Klassenvorlage) [bearbeiten]