19 #ifndef polybori_ring_CMemberFunctionTraits_h_
20 #define polybori_ring_CMemberFunctionTraits_h_
32 template<
class MemberFuncPtr>
36 template <
class Type,
class ResultType,
class ArgType,
class ObjRef>
46 template <
class Type,
class ResultType>
50 template <
class Type,
class ResultType>
54 template <
class Type,
class ResultType,
class ArgType>
59 template <
class Type,
class ResultType,
class ArgType>
64 template <
class MemberFct>
71 typename traits::result_type
operator()(
typename traits::object_reference obj,
72 typename traits::argument_type arg) {
73 return (obj .* m_func)(arg);
81 template <
class MemberFct>
82 MemberFunctionOperator<MemberFct>
Axuiliary class.
Definition: CMemberFunctionTraits.h:37
#define END_NAMESPACE_PBORI
Finish project's namespace.
Definition: pbori_defs.h:77
#define BEGIN_NAMESPACE_PBORI
Start project's namespace.
Definition: pbori_defs.h:74
ArgType argument_type
Definition: CMemberFunctionTraits.h:40
Type object_type
Definition: CMemberFunctionTraits.h:41
traits::result_type operator()(typename traits::object_reference obj, typename traits::argument_type arg)
Definition: CMemberFunctionTraits.h:71
This template class defines related types for member function pointer.
Definition: CMemberFunctionTraits.h:33
ObjRef object_reference
Definition: CMemberFunctionTraits.h:42
MemberFunctionOperator< MemberFct > member_function_operator(MemberFct func)
Definition: CMemberFunctionTraits.h:83
Definition: CMemberFunctionTraits.h:65
MemberFunctionOperator(MemberFct func)
Definition: CMemberFunctionTraits.h:69
ResultType result_type
Definition: CMemberFunctionTraits.h:39