Namespaces
Variants

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

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support linguistique
Support des types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (déprécié en C++20)
 
Objets fonction
Invocation de fonction
(C++17)(C++23)
Objet fonction identité
(C++20)
Wrapper d'opérateurs transparents
(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)

Anciens binders et adaptateurs
(jusqu'à C++17*)
(jusqu'à C++17*)
(jusqu'à C++17*)
(jusqu'à C++17*)
(jusqu'à C++17*)  
(jusqu'à C++17*)
(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)
(jusqu'à C++20*)
(jusqu'à C++20*)
(jusqu'à C++17*)(jusqu'à C++17*)
(jusqu'à C++17*)(jusqu'à C++17*)

(jusqu'à C++17*)
(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)
(jusqu'à C++20*)
(jusqu'à C++20*)
 
 
const std::type_info& target_type() const noexcept;
(depuis C++11)

Retourne le type de la fonction stockée.

Paramètres

(aucun)

Valeur de retour

typeid ( T ) si la fonction stockée est de type T , sinon typeid ( void )

Exemple

#include <functional>
#include <iostream>
int f(int a) { return -a; }
void g(double) {}
int main()
{
    // fn1 et fn2 ont le même type, mais leurs cibles ne le sont pas
    std::function<int(int)> fn1(f),
                            fn2([](int a) {return -a;});
    std::cout << fn1.target_type().name() << '\n'
              << fn2.target_type().name() << '\n';
    // depuis C++17, les guides de déduction (CTAD) peuvent être utilisés
    std::cout << std::function{g}.target_type().name() << '\n';
}

Sortie possible :

PFiiE
Z4mainEUliE_
PFvdE

Voir aussi

obtient un pointeur vers la cible stockée
(fonction membre publique)
contient les informations d'un type, la classe retournée par l'opérateur typeid
(classe)
typeid interroge les informations d'un type, retournant un objet std::type_info représentant le type
(opérateur)