Propagate cv and reference qualifiers from a dereferenced invoke argument.
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 */
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.
| Name | Description |
|---|---|
/* implementation-defined */ | Utility metaprogramming functions inherited by other metaprogramming classes. |
| 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. |
| Name | Description |
|---|---|
Unnamed enum | Qualifier constants inferred by dereferencing the first invoke argument. |
| 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 |