Espacios de nombres
Variantes
Acciones

std::function::target_type

De cppreference.com
< cpp‎ | utility‎ | functional‎ | function
 
 
Biblioteca de servicios
 
Objetos función
Envoltorios de funciones
(C++11)
(C++11)
Aplicación parcial de funciones
(C++20)
(C++11)
Invocación de funciones
(C++17)(C++23)
Objeto función identidad
(C++20)
Envoltorios de referencias
(C++11)(C++11)
Envoltorios de operador 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)
Negadores
(C++17)
Buscadores
Comparadores restringidos
Vinculadores 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++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.

Contenido

[editar] Parámetros

(Ninguno)

[editar] Valor de retorno

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

[editar] 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 destinos 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 (CTAD) las guías de deducción pueden servir
    std::cout << std::function{g}.target_type().name() << '\n';
}

Posible salida:

PFiiE
Z4mainEUliE_
PFvdE

[editar] Véase también

Obtiene un puntero al destino almacenado.
(función miembro pública) [editar]