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