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.
Declared in <bslmf_resulttype.h>
template<
class t_FUNC,
class t_FALLBACK,
class = void>
struct ResultType_BdeIdiom
: ResultType_Fallback<t_FALLBACK>
| Name | Description |
|---|---|
ResultType_Fallback<t_FALLBACK> | Metafunction that defines type to be the specified t_FALLBACK type unless t_FALLBACK is bslmf::Nil. |
| Name | Description |
|---|---|
type | The fallback type, unless t_FALLBACK is bslmf::Nil. |
| Name | Description |
|---|---|
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. |
| Name | Description |
|---|---|
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. |