mem_fn – funkce
Vygeneruje jednoduchou obálku volání.
template<class Ret, class Ty>
unspecified mem_fn(Ret Ty::*pm);
Parametry
Ret
Návratový typ funkce zabalené.Ty
Typ ukazatel na funkci člena.
Poznámky
Obálka jednoduché volání vrátí funkce šablony cw, typu slabé výsledky, tak, že výraz cw(t, a2, ..., aN) je ekvivalentní INVOKE(pm, t, a2, ..., aN).Nevyvolá žádné výjimky.
Vrácené volání obálka je odvozen z std::unary_function<cv Ty*, Ret> (tedy definování vnořeného typu result_type jako synonymum pro Ret a vnořeného typu argument_type jako synonymum pro cv Ty*) pouze tehdy, jestliže typ Ty je ukazatel na funkci člena s kvalifikátor cv cv který nepřijímá žádné argumenty.
Vrácené volání obálka je odvozen z std::binary_function<cv Ty*, T2, Ret> (tedy definování vnořeného typu result_type jako synonymum pro Ret, vnořený typ first argument_type jako synonymum pro cv Ty*a vnořeného typu second argument_type jako synonymum pro T2) pouze tehdy, jestliže typ Ty je ukazatel na funkci člena s kvalifikátor cv cv která přijímá jeden argument typu T2.
Příklad
// 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);
}
Požadavky
Záhlaví: <functional>
Obor názvů: std