This metafunction determines which cv qualifiers and reference qualifiers should be propagated from the first argument of invoke_result. This primary template is instantiated when t_ARG_TYPE is the same or is derived from t_MEMOF_CLASS. The constant k_IS_LVALUE is true iff t_ARG_TYPE is an lvalue reference; the constant k_IS_CONST is true iff t_ARG_TYPE is const‐qualified; and the constant k_IS_VOLATILE is true iff t_ARG_TYPE is volatile‐qualified.

Synopsis

Declared in <bslmf_invokeresult.h>

template<
    class t_MEMOF_CLASS,
    class t_ARG_TYPE,
    bool t_IS_DERIVED = bsl::is_convertible<typename bsl::decay<t_ARG_TYPE>::type *, typename bsl::decay<t_MEMOF_CLASS>::type *>::value>
struct InvokeResult_MemPtrArgQualifiers;

Enums

Name

Description

Unnamed enum

Qualifier constants inferred from the first invoke argument.

Specializations

Name

Description

InvokeResult_MemPtrArgQualifiers<t_MEMOF_CLASS, t_ARG_TYPE, false>

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

Created with MrDocs