std::expected<T,E>:: emplace
From cppreference.net
|
Modèle primaire
|
||
|
template
<
class
...
Args
>
constexpr T & emplace ( Args && ... args ) noexcept ; |
(1) | (depuis C++23) |
|
template
<
class
U,
class
...
Args
>
constexpr T & emplace ( std:: initializer_list < U > il, Args && ... args ) noexcept ; |
(2) | (depuis C++23) |
|
void
Spécialisation partielle
|
||
|
constexpr
void
emplace
(
)
noexcept
;
|
(3) | (depuis C++23) |
Construit une valeur attendue en place. Après l'appel,
has_value()
renvoie true.
1)
Détruit la valeur contenue, puis
initialise directement
la valeur attendue contenue dans
*
this
avec
std::
forward
<
Args
>
(
args
)
...
.
Cette surcharge participe à la résolution de surcharge seulement si
std::
is_nothrow_constructible_v
<
T, Args...
>
est
true
.
2)
Détruit la valeur contenue, puis initialise directement la valeur attendue contenue dans
*
this
avec
il
et
std::
forward
<
Args
>
(
args
)
...
.
Cette surcharge participe à la résolution de surcharge seulement si
std::
is_nothrow_constructible_v
<
T,
std::
initializer_list
<
U
>
&
, Args...
>
est
true
.
3)
Si
*
this
contient une valeur inattendue, détruit cette valeur.
Table des matières |
Paramètres
| args | - | les arguments à passer au constructeur |
| il | - | la liste d'initialisation à passer au constructeur |
Valeur de retour
1)
*
std::
construct_at
(
std::
addressof
(
val
)
,
std::
forward
<
Args
>
(
args
)
...
)
2)
*
std::
construct_at
(
std::
addressof
(
val
)
, il,
std::
forward
<
Args
>
(
args
)
...
)
Notes
Si la construction de
T
est potentiellement levante d'exception,
operator=
peut être utilisé à la place.
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
|
assigne le contenu
(fonction membre publique) |