std::expected<T,E>::emplace
Depuis fr.cppreference.net
| Patron principal |
||
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 (expected) sur 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 uniquement 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 uniquement 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.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) |