std::expected<T,E>::emplace
De es.cppreference.net
| Plantilla primaria |
||
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.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) |