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
|
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) |
|
(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) |