This metafunction determines which cv qualifiers and reference qualifiers should be propagated from the first argument of invoke_result.
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 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 |
|---|
Unnamed enum |
| 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 |