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
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 types/gabarits de types std::in_place_t , std::in_place_type_t et std::in_place_index_t peuvent être utilisés dans la liste de 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 balises de désambiguïsation qui peuvent être transmises aux constructeurs pour indiquer que l'objet contenu doit être construit en 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)
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

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)