BloombergLP::bslmf::ResultType_BdeIdiom

Metafunction to detect the BDE ResultType idiom as part of the implementation of bslmf::ResultType. This struct is instantiated when t_FUNC::result_type doesn't exist. This primary template is matched when t_FUNC::ResultType also does not exist. The t_FALLBACK type, if any, is produced.

Synopsis

Declared in <bslmf_resulttype.h>

template<
    class t_FUNC,
    class t_FALLBACK,
    class = void>
struct ResultType_BdeIdiom
    : ResultType_Fallback<t_FALLBACK>

Base Classes

NameDescription
ResultType_Fallback<t_FALLBACK>Metafunction that defines type to be the specified t_FALLBACK type unless t_FALLBACK is bslmf::Nil.

Type Aliases

NameDescription
type The fallback type, unless t_FALLBACK is bslmf::Nil.

Specializations

NameDescription
ResultType_BdeIdiom<t_FUNC, t_FALLBACK, bsl::void_t<t_FUNC::ResultType>> Metafunction to detect the BDE ResultType idiom as part of the implementation of bslmf::ResultType. This specialization is instantiated by ResultType only if t_FUNC::result_type does not exist and t_FUNC::ResultType does exist.

Derived Classes

NameDescription
ResultType Metafunction to return the result type of the specified functor type t_FUNC. The nested type is identical to t_FUNC::result_type if such a type exists; otherwise, it is identical to t_FUNC::ResultType if that type exists; otherwise, it is identical to the t_FALLBACK template parameter if it was specified; otherwise, it is undefined.