17 #ifndef polybori_ring_CCallback_Wrapper_h_
18 #define polybori_ring_CCallback_Wrapper_h_
40 template <
class Type,
class ResultType,
class ArgType>
46 return (static_cast<const Type&>(*this).object .*
47 static_cast<const Type&>(*this).function)(arg);
52 template <
class Type,
class ArgType>
58 (
static_cast<const Type&
>(*this).object .*
59 static_cast<const Type&
>(*this).function)(arg);
71 template <
class MemberFuncPtr>
74 typename CMemberFunctionTraits<MemberFuncPtr>::result_type,
75 typename CMemberFunctionTraits<MemberFuncPtr>::argument_type> {
85 typename traits::argument_type>;
87 typedef typename traits::object_reference
reference;
91 object(value), function(ptr) { }
95 MemberFuncPtr
function;