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 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.get().*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>().get().*
                 InvokeResult_ImpUtils::myDeclval<t_FN>())>::type, false, true, t_FN, t_ARGTYPE>
    : /* implementation-defined */

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

type

Static Member Functions

Name

Description

checkConst

checkConst overloads

checkLvalue

checkLvalue overloads

checkVolatile

checkVolatile overloads

myDeclval

Return a reference to the specified t_SOME_TYPE template parameter type; if t_SOME_TYPE is an rvalue, then the returned reference is an rvalue reference. This function is declared but not defined and is intended to be called in an unevaluated context. Because there is no definition, the available constructors for t_SOME_TYPE are irrelevant.

uncv

uncv overloads

unpoint

unpoint overloads

Created with MrDocs