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

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.

Enums

Name

Description

Unnamed enum

Qualifier constants inferred by dereferencing the first invoke argument.

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