std::expected<T,E>:: emplace
From cppreference.net
|
Plantilla principal
|
||
|
template
<
class
...
Args
>
constexpr T & emplace ( Args && ... args ) noexcept ; |
(1) | (desde C++23) |
|
template
<
class
U,
class
...
Args
>
constexpr T & emplace ( std:: initializer_list < U > il, Args && ... args ) noexcept ; |
(2) | (desde C++23) |
|
void
Especialización parcial
|
||
|
constexpr
void
emplace
(
)
noexcept
;
|
(3) | (desde C++23) |
Construye un valor esperado in-situ. Después de la llamada,
has_value()
devuelve true.
1)
Destruye el valor contenido, luego
inicializa directamente
el valor esperado contenido en
*
this
con
std::
forward
<
Args
>
(
args
)
...
.
Esta sobrecarga participa en la resolución de sobrecarga solo si
std::
is_nothrow_constructible_v
<
T, Args...
>
es
true
.
2)
Destruye el valor contenido, luego inicializa directamente el valor esperado contenido en
*
this
con
il
y
std::
forward
<
Args
>
(
args
)
...
.
Esta sobrecarga participa en la resolución de sobrecarga solo si
std::
is_nothrow_constructible_v
<
T,
std::
initializer_list
<
U
>
&
, Args...
>
es
true
.
3)
Si
*
this
contiene un valor inesperado, destruye ese valor.
Contenidos |
Parámetros
| args | - | los argumentos a pasar al constructor |
| il | - | la lista de inicializadores a pasar al constructor |
Valor de retorno
1)
*
std::
construct_at
(
std::
addressof
(
val
)
,
std::
forward
<
Args
>
(
args
)
...
)
2)
*
std::
construct_at
(
std::
addressof
(
val
)
, il,
std::
forward
<
Args
>
(
args
)
...
)
Notas
Si la construcción de
T
es potencialmente lanzadora de excepciones,
operator=
puede ser utilizado en su lugar.
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
|
asigna contenidos
(función miembro pública) |