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
Depuis fr.cppreference.net
< cpp | utilitaire
| Défini dans l'en-tête <utility>
|
||
struct in_place_t { explicit in_place_t() = default; };
|
(1) | (depuis C++17) |
inline constexpr std::in_place_t in_place {};
|
(2) | (depuis C++17) |
template< class T >
struct in_place_type_t { explicit in_place_type_t() = default; };
|
(3) | (depuis C++17) |
template< class T >
constexpr std::in_place_type_t<T> in_place_type {};
|
(4) | (depuis C++17) |
template< std::size_t I >
struct in_place_index_t { explicit in_place_index_t() = default; };
|
(5) | (depuis C++17) |
template< std::size_t I >
constexpr std::in_place_index_t<I> in_place_index {};
|
(6) | (depuis C++17) |
1,3,5) Les modèles de type
std::in_place_t, std::in_place_type_t et std::in_place_index_t peuvent être utilisés dans la liste des paramètres du constructeur pour correspondre à l'étiquette prévue.2,4,6) Les instances correspondantes
std::in_place, std::in_place_type et std::in_place_index de (1,3,5) sont des étiquettes de désambiguïsation qui peuvent être passées aux constructeurs pour indiquer que l'objet contenu doit être construit sur place, et (pour les deux dernières) le type de l'objet à construire.Bibliothèque standard
Les types de bibliothèque standard suivants utilisent (1-6) comme étiquettes de désambiguïsation :
|
(C++17)
|
objets contenant des instances de tout type
CopyConstructible
(classe) |
|
(C++23)
|
un wrapper contenant soit une valeur attendue soit une valeur d'erreur
(modèle de classe) |
|
(C++23)
|
wrapper non copiable de tout objet appelable prenant en charge les qualificateurs dans une signature d'appel donnée
(modèle de classe) |
|
(C++17)
|
un wrapper pouvant contenir ou non un objet
(modèle de classe) |
|
(C++17)
|
une union discriminée type-safe
(modèle de classe) |
Voir aussi
|
(C++23)
|
indique que les éléments d'une plage sont triés et uniques
(balise) |
|
indique que les éléments d'une plage sont triés (l'unicité n'est pas requise)
(balise) |