Namespaces
Variants

std::function<R(Args...)>::target_type

De es.cppreference.net
 
 
Biblioteca de utilidades
Soporte de lenguaje
Soporte de tipos (tipos básicos, RTTI)
Macros de prueba de características de biblioteca (C++20)
Utilidades de programa
Funciones variádicas
Soporte de corrutinas (C++20)
Soporte de contratos (C++26)
Comparación de tres vías
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilidades generales
Operadores relacionales (obsoleto en C++20)
 
Objetos función
Invocación de funciones
(C++17)(C++23)
Objeto función identidad
(C++20)
Envoltorios de operadores transparentes
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

Enlazadores y adaptadores antiguos
(hasta C++17*)
(hasta C++17*)
(hasta C++17*)
(hasta C++17*)  
(hasta C++17*)
(hasta C++17*)(hasta C++17*)(hasta C++17*)(hasta C++17*)
(hasta C++20*)
(hasta C++20*)
(hasta C++17*)(hasta C++17*)
(hasta C++17*)(hasta C++17*)

(hasta C++17*)
(hasta C++17*)(hasta C++17*)(hasta C++17*)(hasta C++17*)
(hasta C++20*)
(hasta C++20*)
 
 
const std::type_info& target_type() const noexcept;
(desde C++11)

Devuelve el tipo de la función almacenada.

Parámetros

(ninguno)

Valor de retorno

typeid ( T ) si la función almacenada tiene tipo T , de lo contrario typeid ( void )

Ejemplo

#include <functional>
#include <iostream>
int f(int a) { return -a; }
void g(double) {}
int main()
{
    // fn1 y fn2 tienen el mismo tipo, pero sus objetivos no
    std::function<int(int)> fn1(f),
                            fn2([](int a) {return -a;});
    std::cout << fn1.target_type().name() << '\n'
              << fn2.target_type().name() << '\n';
    // desde C++17 las guías de deducción (CTAD) pueden ayudar
    std::cout << std::function{g}.target_type().name() << '\n';
}

Salida posible:

PFiiE
Z4mainEUliE_
PFvdE

Véase también

obtiene un puntero al destino almacenado
(función miembro pública)
contiene información de algún tipo, la clase devuelta por el operador typeid
(clase)
typeid consulta información de un tipo, devolviendo un objeto std::type_info que representa el tipo
(operador)