mem_fn, fonction

Génère un wrapper d'appel simple.

template<class Ret, class Ty>
    unspecified mem_fn(Ret Ty::*pm);

Paramètres

  • Ret
    Le type de retour de la fonction encapsulée.

  • Ty
    Le pointeur de la fonction membre.

Notes

La fonction de modèle retourne un wrapper simple cwappelante, avec un type de résultat faible, tels que l'expression cw(t, a2, ..., aN) est équivalente à INVOKE(pm, t, a2, ..., aN). Ne lève une exception.

Le wrapper retourné d'appel est dérivé d'std::unary_function<cv Ty*, Ret> (par conséquent la définition du type result_type imbriqué comme synonyme de Ret et le type argument_type imbriqué comme synonyme de cv Ty*) uniquement si le type Ty pointeur vers la fonction membre avec le cv- identificateur cv qui n'accepte aucun argument.

Le wrapper retourné d'appel est dérivé d'std::binary_function<cv Ty*, T2, Ret> (par conséquent la définition du type result_type imbriqué comme synonyme de Ret, le type first argument_type imbriqué comme synonyme de cv Ty*, puis tapez second argument_type imbriqué comme synonyme de T2) uniquement si le type Ty pointeur vers la fonction membre avec le cv- identificateur cv qui accepte un argument du type, T2.

Exemple

 

// std_tr1__functional__mem_fn.cpp 
// compile with: /EHsc 
#include <functional> 
#include <iostream> 
 
class Funs 
    { 
public: 
    void square(double x) 
        { 
        std::cout << x << "^2 == " << x * x << std::endl; 
        } 
 
    void product(double x, double y) 
        { 
        std::cout << x << "*" << y << " == " << x * y << std::endl; 
        } 
    }; 
 
int main() 
    { 
    Funs funs; 
 
    std::mem_fn(&Funs::square)(funs, 3.0); 
    std::mem_fn(&Funs::product)(funs, 3.0, 2.0); 
 
    return (0); 
    } 
 
  

Configuration requise

En-tête : <functional>

Espace de noms : std

Voir aussi

Référence

function, classe