Sdílet prostřednictvím


mem_fn Function

Generuje wrapper jednoduché volání.

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

Parametry

  • Ret
    Návratový typ zalomený funkce.

  • Ty
    Typ ukazatel členské funkce.

Poznámky

Vrátí funkce šablony wrapper jednoduché volání cw, slabý výsledek typu, tak, že výraz cw(t, a2, ..., aN) je ekvivalentní INVOKE(pm, t, a2, ..., aN).Není to vyvoláním výjimky.

Wrapper vrácené volání je odvozen od 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 , nevyžaduje žádné argumenty.

Souhrnný vrácené volání 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ý typ second argument_type jako synonymum pro T2) pouze tehdy, jestliže typ Ty je ukazatel na funkci člena s kvalifikátor cv cv , která 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 Class