std::expected<T,E>::value
De cppreference.com
<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)
val3,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
| Esta sección está incompleta Razón: sin 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 paralas 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) | |
| Accede al valor esperado. (función miembro pública) | |
| Devuelve el valor no esperado. (función miembro pública) | |
(C++23) |
Excepción que indica acceso verificado a un expected que contiene un valor no esperado. (plantilla de clase) |