[#BloombergLP-bslma-UsesBslmaAllocator-03e] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslma.adoc[bslma]::xref:BloombergLP/bslma/UsesBslmaAllocator-020.adoc[UsesBslmaAllocator]<xref:bsl/optional-072.adoc[bsl::optional<t_TYPE>]> :relfileprefix: ../../ :mrdocs: == Synopsis Declared in `<bslstl_optional.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TYPE> struct xref:BloombergLP/bslma/UsesBslmaAllocator-020.adoc[UsesBslmaAllocator]<xref:bsl/optional-072.adoc[bsl::optional<t_TYPE>]> : xref:BloombergLP/bslma/UsesBslmaAllocator-020.adoc[UsesBslmaAllocator<t_TYPE>] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/bslma/UsesBslmaAllocator-020.adoc[UsesBslmaAllocator<t_TYPE>]` | This metafunction is derived from `true_type` if `TYPE` adheres to the `bslma` allocator usage idiom and `false_type` otherwise. Note that this trait must be explicitly associated with a type in order for this metafunction to return true; simply having a constructor that implicitly converts `bslma::Allocator *` to `TYPE` is deprecated as a means of indicating that a type follows the `bslma` allocator usage idiom. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:bsl/integral_constant-02/type.adoc[`type`] | Alias for this `integral_constant` specialization. | xref:bsl/integral_constant-02/value_type.adoc[`value_type`] | |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:bsl/integral_constant-02/operator_call.adoc[`operator()`] | Return a copy of the template argument `t_VALUE`. | xref:bsl/integral_constant-02/2conversion.adoc[`operator value_type`] | |=== == Static Data Members [cols="1"] |=== | Name | xref:bsl/integral_constant-02/value.adoc[`value`] |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#