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
| 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) |
| (C++23) |
ein Wrapper, der entweder einen erwarteten oder einen Fehlerwert enthält (Klassenvorlage) |
| (C++23) |
Move-only-Wrapper für jedes aufrufbare Objekt, das Qualifizierer in einer gegebenen Aufrufsignatur unterstützt (Klassen-Template) |
| (C++17) |
ein Wrapper, der möglicherweise ein Objekt enthält oder auch nicht (Klassenvorlage) |
| (C++17) |
eine typsichere diskriminierte Union (Klassentemplate) |
[bearbeiten] Siehe auch
| (C++23) |
zeigt an, dass Elemente eines Bereichs sortiert und eindeutig sind (Tag) |
| zeigt an, dass Elemente eines Bereichs sortiert sind (Eindeutigkeit ist nicht erforderlich) (Tag) |