6template<
typename ReturnType,
typename ClassType,
typename... Types>
10 ReturnType (ClassType::*mem_ptr)(Types...);
15 template<
typename TypeClass,
typename... ArgTypes>
16 ReturnType
operator()(TypeClass&& obj, ArgTypes&&... args)
const
18 return (obj.*mem_ptr)( std::forward<ArgTypes>(args)...);
22template<
typename ReturnType,
typename ClassType,
typename... Types>
38 return m_value * ( a + b );
43 return m_value * (a * b);
53 auto rlt = mf(d, 2, 3);
60 stream <<
"d.pro(2, 3) = " << mf_pro(d, 2, 3) <<
endl;
mem_func_call_wrapper< ReturnType, ClassType, Types... > mem_fn(ReturnType(ClassType::*mptr)(Types...))
mem_func_call_wrapper(ReturnType(ClassType::*mptr)(Types...))
ReturnType operator()(TypeClass &&obj, ArgTypes &&... args) const
Stream output operators << are implemented.