[#BloombergLP-bslstl-Optional_Base-08] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::xref:BloombergLP/bslstl/Optional_Base-05.adoc[Optional_Base]<t_TYPE, false> :relfileprefix: ../../ :mrdocs: Specialization of `Optional_Base` for `value_type` that is not allocator‐aware when `std::optional` is available. == Synopsis Declared in `<bslstl_optional.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TYPE> class xref:BloombergLP/bslstl/Optional_Base-05.adoc[Optional_Base]<t_TYPE, false> : public std::optional<t_TYPE> ---- == Base Classes [cols="1,4"] |=== | Name| Description | `std::optional<t_TYPE>` | Class template for optional values. |=== == Member Functions [cols="1"] |=== | Name | xref:BloombergLP/bslstl/Optional_Base-08/2conversion-0a.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<Optional_Base, IsBitwiseCopyable, BloombergLP::bslmf::IsBitwiseCopyable<t_TYPE>::value>`] | xref:BloombergLP/bslstl/Optional_Base-08/2conversion-01.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<Optional_Base, IsBitwiseMoveable, BloombergLP::bslmf::IsBitwiseMoveable<t_TYPE>::value>`] |=== == Protected Types [cols="1"] |=== | Name | xref:BloombergLP/bslstl/Optional_Base-08/AllocType.adoc[`AllocType`] |=== == Protected Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslstl/Optional_Base-08/2constructor-01.adoc[`Optional_Base`] [.small]#[constructor]# | Constructors | xref:BloombergLP/bslstl/Optional_Base-08/assignOrEmplace.adoc[`assignOrEmplace`] | If `*this` holds an object, assign to that object the value of the specified `rhs`, converted to `t_TYPE`. Otherwise, construct a held object from `rhs`, converted to `t_TYPE`. | xref:BloombergLP/bslstl/Optional_Base-08/dereferenceRaw-0c.adoc[`dereferenceRaw`] | `dereferenceRaw` overloads |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#