BDE 4.14.0 Production release
|
#include <bslmf_invokeresult.h>
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 INVOKE (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 INVOKE (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.