BloombergLP::bslmf::InvokeResult_MemPtrArgQualifiers<t_MEMOF_CLASS, t_ARG_TYPE, false>

Propagate cv and reference qualifiers from a dereferenced invoke argument.

Synopsis

Declared in <bslmf_invokeresult.h>

template<
    class t_MEMOF_CLASS,
    class t_ARG_TYPE>
struct InvokeResult_MemPtrArgQualifiers<t_MEMOF_CLASS, t_ARG_TYPE, false>
    : /* implementation-defined */

Description

This metafunction determines which cv qualifiers and reference qualifiers should be propagated from the first argument of invoke_result.

This specialization is instantiated when t_ARG_TYPE is not derived from t_MEMOF_CLASS and is assumed to be a pointer or smart pointer type. If type A is the result of dereferencing an object of type t_ARG_TYPE, then the constant k_IS_LVALUE is true iff A is an lvalue reference; the constant k_IS_CONST is true iff A is a const-qualified reference; and the constant k_IS_VOLATILE is true iff A is a volatile-qualified reference.

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.

Enums

NameDescription
Unnamed enum Qualifier constants inferred by dereferencing the first invoke argument.

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