Espacios de nombres
Variantes
Acciones

Guías de deducción para std::packaged_task

De cppreference.com
 
 
Biblioteca de apoyo de concurrencia
Hilos
(C++11)
(C++20)
Espacio de nombres this_thread
(C++11)
(C++11)
(C++11)
Cancelación cooperativa
Exclusión mutua
Gestión genérica de bloqueo
(C++11)
(C++11)
(C++11)
(C++11)
Variables de condición
(C++11)
Semáforos
Pestillos y barreras
(C++20)
(C++20)
Futuros
(C++11)
(C++11)
(C++11)
Recuperación segura
Punteros de riesgo
Tipos atómicos
(C++11)
(C++20)
Inicialización de tipos atómicos
(C++11)(en desuso en C++20)
(C++11)(en desuso en C++20)
Orden de memoria
Funciones independientes para operaciones atómicas
Funciones independientes para indicadores atómicos
 
 
Definido en el archivo de encabezado <future>
template<class R, class... Args>
packaged_task(R(*)(Args...))-> packaged_task<R(Args...)>;
(1) (desde C++17)
template<class F>
packaged_task(F)-> packaged_task</*véase más abajo*/>;
(2) (desde C++17)
1) Esta guía de deducción se proporciona para std::packaged_task para permitir la deducción desde funciones.
2) Esta sobrecarga solo participa en la resolución de sobrecargas si &F::operator() está bien formado cuando se trata como un operando sin evaluar y decltype(&F::operator()) es de la forma R(G::*)(A...) (opcionalmente calificado-cv, opcionalmente noexcept, opcionalmente calificado como una referencia a l-valor) para algún tipo clase G. El tipo deducido es std::packaged_task<R(A...)>.

[editar]Ejemplo

#include <future>int func(double){return0;}int main(){std::packaged_task f{func};// deduce packaged_task<int(double)>int i =5;std::packaged_task g =[&](double){return i;};// deduce packaged_task<int(double)>}


close