[#BloombergLP-bslmf-ResultType-01] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::ResultType :relfileprefix: ../../ :mrdocs: 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. == Synopsis Declared in `<bslmf_resulttype.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_FUNC, class t_FALLBACK = xref:BloombergLP/bslmf/Nil.adoc[bslmf::Nil], class = void> struct ResultType : xref:BloombergLP/bslmf/ResultType_BdeIdiom-0d.adoc[ResultType_BdeIdiom<t_FUNC, t_FALLBACK>] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/bslmf/ResultType_BdeIdiom-0d.adoc[ResultType_BdeIdiom<t_FUNC, t_FALLBACK>]` | 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. |=== == 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-05.adoc[`ResultType<t_FUNC, t_FALLBACK, bsl::void_t<t_FUNC::result_type>>`] | Specialization of `ResultType` for when `t_FUNC::result_type` exists, i.e., when the C++ standard idiom for `result_type` is used. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#