[#BloombergLP-bslmf-ResultType_BdeIdiom-0d] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::ResultType_BdeIdiom :relfileprefix: ../../ :mrdocs: 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>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_FUNC, class t_FALLBACK, class = void> struct ResultType_BdeIdiom : xref:BloombergLP/bslmf/ResultType_Fallback-0b.adoc[ResultType_Fallback<t_FALLBACK>] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/bslmf/ResultType_Fallback-0b.adoc[ResultType_Fallback<t_FALLBACK>]` | Metafunction that defines `type` to be the specified `t_FALLBACK` type unless `t_FALLBACK` is `bslmf::Nil`. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/ResultType_Fallback-0b/type.adoc[`type`] | The fallback type, unless `t_FALLBACK` is `bslmf::Nil`. |=== == Specializations [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/ResultType_BdeIdiom-00.adoc[`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 [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/ResultType-01.adoc[`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. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#