[#bsl-optional-072-2constructor-0a8] = xref:bsl.adoc[bsl]::xref:bsl/optional-072.adoc[optional]::optional :relfileprefix: ../../ :mrdocs: Create an `optional` object having the value of the (template parameter) `t_TYPE` created in place using the specified `il` and specified `args`. == Synopsis Declared in `<bslstl_optional.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_INIT_LIST_TYPE, class... t_ARGS> constexpr explicit optional( std::in_place_t inPlace, std::initializer_list<t_INIT_LIST_TYPE> il, t_ARGS&&... args); ---- == Description Create an `optional` object having the value of the (template parameter) `t_TYPE` created in place using the specified `il` and specified `args`. Use the currently installed default allocator to supply memory. This constructor can be called in constant expressions only when `t_TYPE` is not allocator‐aware. == Parameters [cols="1,4"] |=== | Name| Description | *inPlace* | tag selecting in‐place construction of the contained | *il* | initializer list forwarded to construct the contained value | *args* | arguments forwarded to construct the contained value contained value value |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#