Espacios de nombres
Variantes

std::expected<T,E>::value

De cppreference.com
 
 
Biblioteca de servicios
 
 
<tbody> </tbody>
Plantilla primaria
constexpr T& value() &;
(1) (desde C++23)
constexpr const T& value() const&;
(2) (desde C++23)
constexpr T&& value() &&;
(3) (desde C++23)
constexpr const T&& value() const&&;
(4) (desde C++23)
Especialización parcial void
constexpr void value() const&;
(5) (desde C++23)
constexpr void value() &&;
(6) (desde C++23)

Si *this contiene un valor esperado, devuelve una referencia al valor contenido. No devuelve nada para la especialización parcial void.

De lo contrario, lanza una excepción de tipo std::bad_expected_access<std::decay_t<E>> que contiene una copia de error().

1,2) Si std::is_copy_constructible_v<E> es false, el programa está mal formado.
3,4) Si std::is_copy_constructible_v<E> o std::is_constructible_v<E, decltype(std::move(error()))> es false, el programa está mal formado.
5) Si std::is_copy_constructible_v<E> es false, el programa está mal formado.
6) Si std::is_move_constructible_v<E> es false, el programa está mal formado.

Valor de retorno

1,2) val
3,4) std::move(val)

Excepciones

1,2,5) Lanza std::bad_expected_access(std::as_const(error())) si *this contiene un valor no esperado.
3,4,6) Lanza std::bad_expected_access(std::move(error())) si *this contiene un valor no esperado.

Ejemplo

Informes de defectos

Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.

ID Aplicado a Comportamiento según lo publicado Comportamiento correcto
LWG 3940 C++23 No se requería que E fuera copiable o construible por movimiento para
las sobrecargas (5,6)
Se requiere.

Véase también

Devuelve el valor expected si está presente. De lo contrario, otro valor.
(función miembro pública) [editar]
Accede al valor esperado.
(función miembro pública) [editar]
Devuelve el valor no esperado.
(función miembro pública) [editar]
Excepción que indica acceso verificado a un expected que contiene un valor no esperado.
(plantilla de clase) [editar]