Sdílet prostřednictvím


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

Viz také

Referenční dokumentace

function – třída