Quick Links:

bal | bbl | bdl | bsl

bsl::invoke_result< t_FN, t_ARGTYPES > Class Template Reference

#include <bslmf_invokeresult.h>


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.

See Component bslmf_invokeresult


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