invoke_result for well‐formed functor call fn(args...).

Synopsis

Declared in <bslmf_invokeresult.h>

template<
    class t_FN,
    class... t_ARGTYPES>
struct InvokeResult_FunctorImp<bslmf::VoidType<decltype(InvokeResult_ImpUtils::myDeclval<t_FN>()(
                    InvokeResult_ImpUtils::myDeclval<t_ARGTYPES>()...))>::type, t_FN, t_ARGTYPES...>
    : /* implementation-defined */

Description

Implementation of invoke_result<t_FN, t_ARGTYPES...>. This specialization is instantiated in C++11 and later when t_FN is neither a pointer‐to‐function, pointer‐to‐member‐function, nor pointer‐to‐member‐object 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...).

Base Classes

Name

Description

/* implementation-defined */

Utility metaprogramming functions inherited by other metaprogramming classes.

Types

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.

Type Aliases

Name

Description

type

INVOKE result type for functor call fn(args...).

Static Member Functions

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

Created with MrDocs