This class is a metafunction that conditionally provides a type member that is the type resulting from invoking an object of the specified t_FN template parameter with arguments of the specified t_ARGTYPES template parameters. More precisely, given types F, T1, T2, ..., TN corresponding to expressions f, t1, t2, ..., tN, bslmf::ResultType<F, T1, T2, ..., TN>::type is usually the type of the psuedo-expression (f, t1, t2, ..., tN), as defined in section [func.rquire]of the C++11 standard. If the compiler supports C++11 decltype and the psuedo-expression (f, t1, t2, ..., tN) is not well-formed, this class provides no type member. If t_FN is a class (functor) type and the compiler doesn't support C++11 decltype, the return type is automatically deduced for fundamental types, void, pointers or references to those, or bsl::nullptr_t and is deduced by bslmf::ResultType<t_FN>::type otherwise. If deduction fails, this metafunction yields bslmf::InvokeResultDeductionFailed. See component-level documentation for more detail.
Declared in <bslmf_invokeresult.h>
template<
class t_FN,
class... t_ARGTYPES>
class invoke_result
: public BloombergLP::bslmf::InvokeResult_BaseCalcUtil<t_FN, t_ARGTYPES...>::BaseType
| Name | Description |
|---|---|
BloombergLP::bslmf::InvokeResult_BaseCalcUtil<t_FN, t_ARGTYPES...>::BaseType |
| Name | Description |
|---|---|
Function_InvokerUtil_ResultTypeImp<bslmf::VoidType<Function_InvokerUtil_ForwardType<ARGS>::Type...>::type, FUNC, ARGS...> |