[#bsl-optional-07d] = xref:bsl.adoc[bsl]::xref:bsl/optional-072.adoc[optional<t_TYPE>] :relfileprefix: ../ :mrdocs: Deduce the specified type `t_TYPE` from the corresponding template parameter type supplied to the constructor of `optional`. This guide does not participate in deduction unless the deduced type `t_TYPE` supports the bslma allocator model, and the specified `t_ALLOC` can be implicitly converted to `bsl::allocator<char>`. == Synopsis Declared in `<bslstl_optional.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_TYPE, class t_ALLOC> requires BloombergLP::bslma::UsesBslmaAllocator<t_TYPE>::value && bsl::is_convertible_v<t_ALLOC, bsl::allocator<char>> xref:bsl/optional-072.adoc[optional<t_TYPE>]( std::allocator_arg_t, t_ALLOC, xref:bsl/optional-072.adoc[optional<t_TYPE>]) -> xref:bsl/optional-072.adoc[optional<t_TYPE>]; ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#