Namespaces
Variants

std:: in_place, std:: in_place_type, std:: in_place_index, std:: in_place_t, std:: in_place_type_t, std:: in_place_index_t

From cppreference.net
Utilities library
Definiert im Header <utility>
struct in_place_t { explicit in_place_t ( ) = default ; } ;
(1) (seit C++17)
inline constexpr std :: in_place_t in_place { } ;
(2) (seit C++17)
template < class T >
struct in_place_type_t { explicit in_place_type_t ( ) = default ; } ;
(3) (seit C++17)
template < class T >
constexpr std :: in_place_type_t < T > in_place_type { } ;
(4) (seit C++17)
template < std:: size_t I >
struct in_place_index_t { explicit in_place_index_t ( ) = default ; } ;
(5) (seit C++17)
template < std:: size_t I >
constexpr std :: in_place_index_t < I > in_place_index { } ;
(6) (seit C++17)
1,3,5) Die Typ-/Typ-Templates std::in_place_t , std::in_place_type_t und std::in_place_index_t können in der Parameterliste des Konstruktors verwendet werden, um den beabsichtigten Tag zu matchen.
2,4,6) Die entsprechenden std::in_place , std::in_place_type , und std::in_place_index Instanzen von (1,3,5) sind Unterscheidungs-Tags, die an die Konstruktoren übergeben werden können, um anzuzeigen, dass das enthaltene Objekt direkt konstruiert werden soll, und (für die letzteren beiden) den Typ des zu konstruierenden Objekts.

Standardbibliothek

Die folgenden Standardbibliothekstypen verwenden (1-6) als Unterscheidungsmarkierungen:

(C++17)
Objekte, die Instanzen eines beliebigen CopyConstructible Typs halten
(Klasse)
(C++23)
ein Wrapper, der entweder einen erwarteten oder einen Fehlerwert enthält
(Klassentemplate)
nur bewegbarer Wrapper eines beliebigen aufrufbaren Objekts, das Qualifizierer in einer gegebenen Aufrufsignatur unterstützt
(Klassentemplate)
(C++17)
ein Wrapper, der möglicherweise ein Objekt enthält oder nicht
(Klassentemplate)
(C++17)
eine typsichere, diskriminierte Union
(Klassentemplate)

Siehe auch

zeigt an, dass die Elemente eines Bereichs sortiert und eindeutig sind
(Tag)
zeigt an, dass die Elemente eines Bereichs sortiert sind (Eindeutigkeit nicht erforderlich)
(Tag)