Synopsis
Declared in <bslmf_invokeresult.h>
template<
class t_FN,
class t_ARG1TYPE,
class... t_ARGTYPES>
struct InvokeResult_MemFuncPtrImpDispatch<bslmf::VoidType<decltype((InvokeResult_ImpUtils::myDeclval<t_ARG1TYPE>().get().*
InvokeResult_ImpUtils::myDeclval<t_FN>())(
InvokeResult_ImpUtils::myDeclval<t_ARGTYPES>()...))>::type, false, true, t_FN, t_ARG1TYPE, t_ARGTYPES...>
: /* implementation-defined */
Description
Implementation of invoke_result<t_FN, t_ARGTYPES...>. This specialization is instantiated in C++11 and later when t_FN is a pointer-to-member-function type, t_ARG1TYPE is a specialization of bsl::reference_wrapper, and the INVOKE(fn, arg1, args...) expression is well-formed given fn is an object of the specified t_FN type and arg1, args... are objects of the specified t_ARG1TYPE, t_ARGTYPES... types. The INVOKE(fn, arg1, args...) expression in this case is (arg1.get().*fn)(args...).