std::execution::just_error
Definido en el archivo de encabezado <execution>
|
||
inline constexpr just_error_t just_error{}; struct just_error_t { /*no especificado*/ }; |
(desde C++26) (objeto punto de personalización) |
|
Signatura de la llamada |
||
execution::sender auto just_error( auto&& error ); |
(desde C++26) | |
Una fábrica de emisores que devuelve un emisor que se completa inmediatamente llamando a set_error()
del receptor.
Sea e una subexpresión representada por un error de entrada que será inyectado y devuelto por el receptor. La expresión just_error(e) es de expresión equivalente a /*crear-emisor*/(just_error, /*tipo-producto*/(e))
Objetos punto de personalización
El nombre execution::just_error
denota un objeto punto de personalización, que es un objeto función const de un tipo clase literal semiregular
. La versión no calificada const volatile de su tipo es un tipo etiqueta que se denota como execution::just_error_t
.
Todas los ejemplares de execution::just_error_t
son iguales. Los efectos de invocar diferentes ejemplares del tipo execution::just_error_t
sobre los mismos argumentos son equivalentes, independientemente de si la expresión que denota el ejemplar es un l-valor o un r-valor, y está calificada const o no (sin embargo, no se requiere que un ejemplar calificado volatile sea invocable). Por lo tanto, execution::just_error
se puede copiar libremente y sus copias se pueden usar indistintamente.
Dado un conjunto de tipos Args...
, si std::declval<Args>()... cumple con los requisitos para los argumentos a execution::just_error
arriba, execution::just_error_t
modela
- std::invocable<execution::just_error_t, Args...>,
- std::invocable<const execution::just_error_t, Args...>,
- std::invocable<execution::just_error_t&, Args...>, and
- std::invocable<const execution::just_error_t&, Args...>.
De lo contrario, ningún operador de llamada a función de execution::just_error_t
participa en la resolución de sobrecargas.
[editar] Notas
Si el error proporcionado es una referencia a l-valor, se realiza una copia dentro del emisor devuelto y se envía una referencia a l-valor no constante a la copia a set_error del receptor. Si el valor proporcionado es una referencia a un r-valor, se mueve al emisor devuelto y se envía una referencia a un r-valor al mismo a set_error
del receptor.
[editar] Ejemplo
Esta sección está incompleta Razón: sin ejemplo |