[#BloombergLP-bslstl-Function_InvokerUtil_Dispatch-09a] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::Function_InvokerUtil_Dispatch :relfileprefix: ../../ :mrdocs: Specializations of this class contain a static `invoke` method that can invoke a callable object of type `FUNC`, converting each argument in `PROTOTYPE` (a function prototype) to the corresponding argument in the invocation of the callable object and converting the return value of the invocation to the return type of `PROTOTYPE`. The `INVOCATION_TYPE` specifies the category of callable object: pointer to function, pointer to member function, pointer to data member, inplace functor (i.e., one that qualifies for the small‐object optimization) and out‐of‐place functor (i.e., one that is not stored in the small‐object buffer). == Synopsis Declared in `<bslstl_function_invokerutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< int INVOCATION_TYPE, class PROTOTYPE, class FUNC> struct Function_InvokerUtil_Dispatch; ---- == Specializations [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslstl/Function_InvokerUtil_Dispatch-03.adoc[`Function_InvokerUtil_Dispatch<Function_InvokerUtil::e_FunctionPtr, RET(ARGS...), FUNC>`] | Specialization of dispatcher for pointer‐to‐function objects. | xref:BloombergLP/bslstl/Function_InvokerUtil_Dispatch-096.adoc[`Function_InvokerUtil_Dispatch<Function_InvokerUtil::e_InplaceFunctor, RET(ARGS...), FUNC>`] | Specialization of dispatcher functor class objects that are suitable for the small‐object optimization and are thus allocated inplace. | xref:BloombergLP/bslstl/Function_InvokerUtil_Dispatch-04.adoc[`Function_InvokerUtil_Dispatch<Function_InvokerUtil::e_OutofplaceFunctor, RET(ARGS...), FUNC>`] | Specialization of dispatcher functor class objects that are not suitable for the small‐object optimization and are thus allocated out of place. | xref:BloombergLP/bslstl/Function_InvokerUtil_Dispatch-08.adoc[`Function_InvokerUtil_Dispatch<Function_InvokerUtil::e_MemDataPtr, RET(ARG0), MEMBER_TYPECLASS_TYPE::*>`] | Specialization of dispatcher for pointer to data member objects. | xref:BloombergLP/bslstl/Function_InvokerUtil_Dispatch-0f.adoc[`Function_InvokerUtil_Dispatch<Function_InvokerUtil::e_MemFunctionPtr, RET(ARG0, ARGS...), FUNC>`] | Specialization of dispatcher for pointer to member function objects. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#