BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bsl::invoke_result< t_FN, t_ARGTYPES > Class Template Reference

#include <bslmf_invokeresult.h>

Inheritance diagram for bsl::invoke_result< t_FN, t_ARGTYPES >:

Detailed Description

template<class t_FN, class... t_ARGTYPES>
class bsl::invoke_result< t_FN, t_ARGTYPES >

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.


The documentation for this class was generated from the following file: