[#BloombergLP-bslstl-Optional_Base-05-2constructor-03a] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::xref:BloombergLP/bslstl/Optional_Base-05.adoc[Optional_Base]::Optional_Base :relfileprefix: ../../../ :mrdocs: If the specified `original` contains a value, create an `Optional_Base` object whose contained value is initialized from moving from `*original` and converting to `t_TYPE`. Otherwise, create a disengaged `Optional_Base`. Use the specified `allocator` to supply memory. `original` is left in a valid but unspecified state. == Synopsis Declared in `<bslstl_optional.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_ANY_TYPE> Optional_Base( std::allocator_arg_t, xref:BloombergLP/bslstl/Optional_Base-05/allocator_type.adoc[allocator_type] allocator, xref:BloombergLP/bslstl/Optional_MoveConstructFromStdOptional.adoc[BloombergLP::bslstl::Optional_MoveConstructFromStdOptional], std::optional<t_ANY_TYPE>&& original); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#