STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Static Public Member Functions | List of all members
_Pmf_caller< _Ret, _Arg0 > Struct Template Reference

Static Public Member Functions

template<class _Pmf , class _Farg0 , class... _Ftypes>
static _Ret _Call_pmf (_Pmf _Pm, _Farg0 &&_Fx0, true_type, _Ftypes &&..._Fargs)
 
template<class _Pmf , class _Farg0 , class... _Ftypes>
static _Ret _Call_pmf (_Pmf _Pm, _Farg0 &&_Fx0, false_type, _Ftypes &&..._Fargs)
 
template<class _Pmf , class _Farg0 , class... _Ftypes>
static _Ret _Apply_pmf (_Pmf _Pm, _Farg0 &&_Fx0, _Ftypes &&..._Fargs)
 

Member Function Documentation

template<class _Ret , class _Arg0 >
template<class _Pmf , class _Farg0 , class... _Ftypes>
static _Ret _Pmf_caller< _Ret, _Arg0 >::_Apply_pmf ( _Pmf  _Pm,
_Farg0 &&  _Fx0,
_Ftypes &&...  _Fargs 
)
inlinestatic
319  { // apply to object
320  typedef typename remove_reference<_Arg0>::type _Arg0_bare0;
321  typedef typename remove_cv<_Arg0_bare0>::type _Arg0_bare;
322  typedef typename remove_reference<_Farg0>::type _Farg0_bare;
324  || (is_base_of<_Arg0_bare, _Farg0_bare>::value
326  _Farg0>::value)> _Is_obj;
327 
328  return (_Call_pmf<_Pmf, _Farg0&&, _Ftypes&&...>(_Pm,
329  _STD forward<_Farg0>(_Fx0), _Is_obj(),
330  _STD forward<_Ftypes>(_Fargs)...));
331  }
remove_const< typename remove_volatile< _Ty >::type >::type type
Definition: xtr1common:160
Definition: xtr1common:52
_Ty type
Definition: xtr1common:316
Definition: xtr1common:94
template<class _Ret , class _Arg0 >
template<class _Pmf , class _Farg0 , class... _Ftypes>
static _Ret _Pmf_caller< _Ret, _Arg0 >::_Call_pmf ( _Pmf  _Pm,
_Farg0 &&  _Fx0,
true_type  ,
_Ftypes &&...  _Fargs 
)
inlinestatic
299  { // apply to object
300  typedef typename _Copy_cv<_Arg0, _Farg0>::type
301  _Funobj_cv;
302  return (((_Funobj_cv)_Fx0.*_Pm)(_STD forward<_Ftypes>(_Fargs)...));
303  }
_Tgtx & type
Definition: xtr1common:337
template<class _Ret , class _Arg0 >
template<class _Pmf , class _Farg0 , class... _Ftypes>
static _Ret _Pmf_caller< _Ret, _Arg0 >::_Call_pmf ( _Pmf  _Pm,
_Farg0 &&  _Fx0,
false_type  ,
_Ftypes &&...  _Fargs 
)
inlinestatic
310  { // apply to (possibly smart) pointer
311  return (((*_Fx0).*_Pm)(_STD forward<_Ftypes>(_Fargs)...));
312  }

The documentation for this struct was generated from the following file: