BloombergLP::bslmf::InvokeResult_MemObjPtrImpDispatch<bslmf::VoidType<decltype((*InvokeResult_ImpUtils::myDeclval<t_ARGTYPE>()).* InvokeResult_ImpUtils::myDeclval<t_FN>())>::type, false, false, t_FN, t_ARGTYPE>

invoke_result for (*arg).*fn.

Synopsis

Declared in <bslmf_invokeresult.h>

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

Description

Implementation of invoke_result<t_FN, t_ARGTYPE>. This specialization is instantiated in C++11 and later when t_FN is a pointer-to-member-object type, t_ARGTYPE is neither a class type that derives from the class type of t_FN nor a specialization of bsl::reference_wrapper, and the INVOKE(fn, arg) expression is well-formed given fn is an object of the specified t_FN type and arg is an object of the specified t_ARGTYPE type. The INVOKE(fn, arg) expression in this case is (*arg).*fn.

Base Classes

NameDescription
/* implementation-defined */Utility metaprogramming functions inherited by other metaprogramming classes.

Types

NameDescription
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

NameDescription
type INVOKE result type for (*arg).*fn.

Static Member Functions

NameDescription
checkConst checkConst overloads
checkLvalue checkLvalue overloads
checkVolatile checkVolatile overloads
myDeclval Return a declval reference for unevaluated metaprogramming.
uncv uncv overloads
unpoint unpoint overloads