invoke_result for well-formed function pointers.
Declared in <bslmf_invokeresult.h>
template<
class t_FN,
class... t_ARGTYPES>
struct InvokeResult_FuncPtrImp<bslmf::VoidType<decltype(InvokeResult_ImpUtils::myDeclval<t_FN>()(
InvokeResult_ImpUtils::myDeclval<t_ARGTYPES>()...))>::type, t_FN, t_ARGTYPES...>
: /* implementation-defined */
Implementation of invoke_result<t_FN, t_ARGTYPES...>. This specialization is instantiated in C++11 and later when t_FN is a pointer-to-function type, and the INVOKE(fn, args...) expression is well-formed given fn is an object of the specified t_FN type and args... are objects of the specified t_ARGTYPES... types. The INVOKE(fn, args...) expression in this case is fn(args...).
| Name | Description |
|---|---|
/* implementation-defined */ | Utility metaprogramming functions inherited by other metaprogramming classes. |
| Name | Description |
|---|---|
AnyLvalue | Type convertible from any lvalue type. Used for overload resolution in metafunctions. |
AnyRvalue | Type convertible from any rvalue type. Used for overload resolution in metafunctions. |
| Name | Description |
|---|---|
type | INVOKE result type for function pointer call fn(args...). |
| Name | Description |
|---|---|
checkConst | checkConst overloads |
checkLvalue | checkLvalue overloads |
checkVolatile | checkVolatile overloads |
myDeclval | Return a declval reference for unevaluated metaprogramming. |
uncv | uncv overloads |
unpoint | unpoint overloads |