Namensräume
Varianten
Aktionen

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

Von cppreference.com
< cpp‎ | utility
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

Allgemeine Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
Definiert in der Header-Datei <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 Typen/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 das beabsichtigte Tag zuzuordnen.
2,4,6) Die entsprechenden std::in_place, std::in_place_type und std::in_place_index Instanzen von (1,3,5) sind Diskriminierungs-Tags, die an die Konstruktoren übergeben werden können, um anzuzeigen, dass das enthaltene Objekt "in-place" konstruiert werden soll, und (für die beiden letzteren) den Typ des zu konstruierenden Objekts.

[bearbeiten] Standardbibliothek

Die folgenden Standardbibliothekstypen verwenden (1-6) als Diskriminierungs-Tags

(C++17)
Objekte, die Instanzen eines beliebigen CopyConstructible-Typs enthalten
(Klasse) [edit]
(C++23)
ein Wrapper, der entweder einen erwarteten oder einen Fehlerwert enthält
(Klassenvorlage) [edit]
Move-only-Wrapper für jedes aufrufbare Objekt, das Qualifizierer in einer gegebenen Aufrufsignatur unterstützt
(Klassen-Template) [bearbeiten]
(C++17)
ein Wrapper, der möglicherweise ein Objekt enthält oder auch nicht
(Klassenvorlage) [edit]
(C++17)
eine typsichere diskriminierte Union
(Klassentemplate) [bearbeiten]

[bearbeiten] Siehe auch

zeigt an, dass Elemente eines Bereichs sortiert und eindeutig sind
(Tag)[edit]
zeigt an, dass Elemente eines Bereichs sortiert sind (Eindeutigkeit ist nicht erforderlich)
(Tag)[edit]