std::execution::just_error
Definido en el archivo de encabezado <execution> | ||
inlineconstexpr just_error_t just_error{}; struct just_error_t {/*no especificado*/}; | (desde C++26) (objeto punto de personalización) | |
Signatura de la llamada | ||
execution::senderauto 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ónconst de un tipo clase literalsemiregular
. La versión no calificada constvolatile 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 |