bsl::invoke_result

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.

Synopsis

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

Base Classes

NameDescription
BloombergLP::bslmf::InvokeResult_BaseCalcUtil<t_FN, t_ARGTYPES...>::BaseType