[#BloombergLP-bslmf-InvokeResult_FuncPtrImp-0d] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::InvokeResult_FuncPtrImp :relfileprefix: ../../ :mrdocs: Forward declaration == Synopsis Declared in `<bslmf_invokeresult.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_VOID_TYPE, class t_FN, class... t_ARGTYPES> struct InvokeResult_FuncPtrImp; ---- == Specializations [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/InvokeResult_FuncPtrImp-0c.adoc[`InvokeResult_FuncPtrImp<bslmf::VoidType<decltype(InvokeResult_ImpUtils::myDeclval<t_FN>()( InvokeResult_ImpUtils::myDeclval<t_ARGTYPES>()...))>::type, t_FN, t_ARGTYPES...>`] | Implementation of `invoke_result<t_FN, t_ARGTYPES...>`. This specialization is instantiated in C++11 and later when `t_FN` is a pointer‐to‐function type, and the `INVOKE(fn, args...)` expression is well‐formed given `fn` is an object of the specified `t_FN` type and `args...` are objects of the specified `t_ARGTYPES...` types. The `INVOKE(fn, args...)` expression in this case is `fn(args...)`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#