Namespaces
Variants

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

From cppreference.net
Utilities library
Plantilla principal
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)
void Especialización parcial
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 de 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.

Contenidos

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 inesperado.
3,4,6) Lanza std:: bad_expected_access ( std :: move ( error ( ) ) ) si * this contiene un valor inesperado.

Ejemplo

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 3940 C++23 E no se requería que fuera copia/movible-construible para las sobrecargas (5,6) requerido

Véase también

devuelve el valor esperado si está presente, otro valor en caso contrario
(función miembro pública)
accede al valor esperado
(función miembro pública)
devuelve el valor inesperado
(función miembro pública)
excepción que indica acceso verificado a un expected que contiene un valor inesperado
(plantilla de clase)