[#BloombergLP-bslstl-Optional_Base-05-2constructor-0f] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::xref:BloombergLP/bslstl/Optional_Base-05.adoc[Optional_Base]::Optional_Base :relfileprefix: ../../../ :mrdocs: Constructors == Synopses Declared in `<bslstl_optional.h>` Create a disengaged `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0e.adoc[Optional_Base](); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0e.adoc[_» more..._]# Create an `Optional_Base` object having the value of the specified `original` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslstl/Optional_Base-05/2constructor-01a.adoc[Optional_Base](xref:BloombergLP/bslstl/Optional_Base-05.adoc[Optional_Base] const& original); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-01a.adoc[_» more..._]# Create a disengaged `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslstl/Optional_Base-05/2constructor-014.adoc[Optional_Base](xref:bsl/nullopt_t.adoc[bsl::nullopt_t] nullopt); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-014.adoc[_» more..._]# Create an `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0a8.adoc[Optional_Base](xref:BloombergLP/bslmf/MovableRef.adoc[BloombergLP::bslmf::MovableRef<Optional_Base>] original) noexcept(/* see-below */); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0a8.adoc[_» more..._]# Create a disengaged `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslstl/Optional_Base-05/2constructor-088.adoc[Optional_Base]( std::allocator_arg_t allocatorArg, xref:BloombergLP/bslstl/Optional_Base-05/allocator_type.adoc[allocator_type] allocator); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-088.adoc[_» more..._]# Create an `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_ANY_TYPE> xref:BloombergLP/bslstl/Optional_Base-05/2constructor-078.adoc[Optional_Base]( xref:BloombergLP/bslstl/Optional_ConstructFromForwardRef.adoc[BloombergLP::bslstl::Optional_ConstructFromForwardRef] tag, t_ANY_TYPE&& value); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-078.adoc[_» more..._]# Create an `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_ANY_TYPE> xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0b9b0.adoc[Optional_Base]( xref:BloombergLP/bslstl/Optional_CopyConstructFromOtherOptional.adoc[BloombergLP::bslstl::Optional_CopyConstructFromOtherOptional] tag, xref:BloombergLP/bslstl/Optional_Base-05.adoc[Optional_Base<t_ANY_TYPE>] const& original); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0b9b0.adoc[_» more..._]# Create an `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_ANY_TYPE> xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0bf2.adoc[Optional_Base]( xref:BloombergLP/bslstl/Optional_CopyConstructFromStdOptional.adoc[BloombergLP::bslstl::Optional_CopyConstructFromStdOptional] tag, std::optional<t_ANY_TYPE> const& original); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0bf2.adoc[_» more..._]# Create an `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_ANY_TYPE> xref:BloombergLP/bslstl/Optional_Base-05/2constructor-05.adoc[Optional_Base]( xref:BloombergLP/bslstl/Optional_MoveConstructFromOtherOptional.adoc[BloombergLP::bslstl::Optional_MoveConstructFromOtherOptional] tag, xref:BloombergLP/bslmf/MovableRef_Deduced.adoc[BloombergLP::bslmf::MovableRef_Deduced<Optional_Base<t_ANY_TYPE>>] original); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-05.adoc[_» more..._]# Create an `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_ANY_TYPE> xref:BloombergLP/bslstl/Optional_Base-05/2constructor-08d.adoc[Optional_Base]( xref:BloombergLP/bslstl/Optional_MoveConstructFromOtherOptional.adoc[BloombergLP::bslstl::Optional_MoveConstructFromOtherOptional] tag, xref:BloombergLP/bslmf/MovableRef_Deduced.adoc[BloombergLP::bslmf::MovableRef_Deduced<Optional_Base<t_ANY_TYPE>>] original); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-08d.adoc[_» more..._]# Create an `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_ANY_TYPE> xref:BloombergLP/bslstl/Optional_Base-05/2constructor-031.adoc[Optional_Base]( xref:BloombergLP/bslstl/Optional_MoveConstructFromStdOptional.adoc[BloombergLP::bslstl::Optional_MoveConstructFromStdOptional] tag, std::optional<t_ANY_TYPE>&& original); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-031.adoc[_» more..._]# Create an `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class... t_ARGS> explicit xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0b9bd.adoc[Optional_Base]( std::in_place_t inPlace, t_ARGS&&... args); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0b9bd.adoc[_» more..._]# Create a disengaged `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslstl/Optional_Base-05/2constructor-00.adoc[Optional_Base]( std::allocator_arg_t allocatorArg, xref:BloombergLP/bslstl/Optional_Base-05/allocator_type.adoc[allocator_type] allocator, xref:bsl/nullopt_t.adoc[bsl::nullopt_t] nullopt); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-00.adoc[_» more..._]# Create an `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslstl/Optional_Base-05/2constructor-074.adoc[Optional_Base]( std::allocator_arg_t allocatorArg, xref:BloombergLP/bslstl/Optional_Base-05/allocator_type.adoc[allocator_type] allocator, xref:BloombergLP/bslmf/MovableRef.adoc[BloombergLP::bslmf::MovableRef<Optional_Base>] original); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-074.adoc[_» more..._]# Create an `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslstl/Optional_Base-05/2constructor-096.adoc[Optional_Base]( std::allocator_arg_t allocatorArg, xref:BloombergLP/bslstl/Optional_Base-05/allocator_type.adoc[allocator_type] allocator, xref:BloombergLP/bslstl/Optional_Base-05.adoc[Optional_Base] const& original); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-096.adoc[_» more..._]# Create an `Optional_Base` object, which contains the result of invocation of the specified `invocable` with the specified `arg`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_INVOCABLE, class t_ARG> xref:BloombergLP/bslstl/Optional_Base-05/2constructor-02.adoc[Optional_Base]( xref:BloombergLP/bslstl/Optional_InvokeConstructorTag.adoc[Optional_InvokeConstructorTag] tag, t_INVOCABLE&& invocable, t_ARG&& arg); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-02.adoc[_» more..._]# Create an `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_INIT_LIST_TYPE, class... t_ARGS> xref:BloombergLP/bslstl/Optional_Base-05/2constructor-087.adoc[Optional_Base]( std::in_place_t inPlace, std::initializer_list<t_INIT_LIST_TYPE> il, t_ARGS&&... args); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-087.adoc[_» more..._]# Create an `Optional_Base` object whose contained value is initialized by forwarding from the specified `value`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_ANY_TYPE> xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0d.adoc[Optional_Base]( std::allocator_arg_t allocatorArg, xref:BloombergLP/bslstl/Optional_Base-05/allocator_type.adoc[allocator_type] allocator, xref:BloombergLP/bslstl/Optional_ConstructFromForwardRef.adoc[BloombergLP::bslstl::Optional_ConstructFromForwardRef] tag, t_ANY_TYPE&& value); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0d.adoc[_» more..._]# Create an `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_ANY_TYPE> xref:BloombergLP/bslstl/Optional_Base-05/2constructor-09f.adoc[Optional_Base]( std::allocator_arg_t allocatorArg, xref:BloombergLP/bslstl/Optional_Base-05/allocator_type.adoc[allocator_type] allocator, xref:BloombergLP/bslstl/Optional_CopyConstructFromOtherOptional.adoc[BloombergLP::bslstl::Optional_CopyConstructFromOtherOptional] tag, xref:BloombergLP/bslstl/Optional_Base-05.adoc[Optional_Base<t_ANY_TYPE>] const& original); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-09f.adoc[_» more..._]# Create an optional from `original` using `allocator`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_ANY_TYPE> xref:BloombergLP/bslstl/Optional_Base-05/2constructor-04.adoc[Optional_Base]( std::allocator_arg_t allocatorArg, xref:BloombergLP/bslstl/Optional_Base-05/allocator_type.adoc[allocator_type] allocator, xref:BloombergLP/bslstl/Optional_CopyConstructFromStdOptional.adoc[BloombergLP::bslstl::Optional_CopyConstructFromStdOptional] tag, std::optional<t_ANY_TYPE> const& original); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-04.adoc[_» more..._]# Create an `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_ANY_TYPE> xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0bf9.adoc[Optional_Base]( std::allocator_arg_t allocatorArg, xref:BloombergLP/bslstl/Optional_Base-05/allocator_type.adoc[allocator_type] allocator, xref:BloombergLP/bslstl/Optional_MoveConstructFromOtherOptional.adoc[BloombergLP::bslstl::Optional_MoveConstructFromOtherOptional] tag, xref:BloombergLP/bslmf/MovableRef_Deduced.adoc[BloombergLP::bslmf::MovableRef_Deduced<Optional_Base<t_ANY_TYPE>>] original); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0bf9.adoc[_» more..._]# Create an `Optional_Base` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_ANY_TYPE> xref:BloombergLP/bslstl/Optional_Base-05/2constructor-03a.adoc[Optional_Base]( std::allocator_arg_t allocatorArg, xref:BloombergLP/bslstl/Optional_Base-05/allocator_type.adoc[allocator_type] allocator, xref:BloombergLP/bslstl/Optional_MoveConstructFromStdOptional.adoc[BloombergLP::bslstl::Optional_MoveConstructFromStdOptional] tag, std::optional<t_ANY_TYPE>&& original); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-03a.adoc[_» more..._]# Create an `Optional_Base` object whose contained value is initialized from the specified `args`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class... t_ARGS> xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0aa.adoc[Optional_Base]( std::allocator_arg_t allocatorArg, xref:BloombergLP/bslstl/Optional_Base-05/allocator_type.adoc[allocator_type] allocator, std::in_place_t inPlace, t_ARGS&&... args); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-0aa.adoc[_» more..._]# Create an `Optional_Base` object whose contained value is initialized from the specified `il` and `args`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_INIT_LIST_TYPE, class... t_ARGS> xref:BloombergLP/bslstl/Optional_Base-05/2constructor-09b.adoc[Optional_Base]( std::allocator_arg_t allocatorArg, xref:BloombergLP/bslstl/Optional_Base-05/allocator_type.adoc[allocator_type] allocator, std::in_place_t inPlace, std::initializer_list<t_INIT_LIST_TYPE> il, t_ARGS&&... args); ---- [.small]#xref:BloombergLP/bslstl/Optional_Base-05/2constructor-09b.adoc[_» more..._]# == Parameters [cols="1,4"] |=== | Name| Description | *original* | source optional used to initialize this object | *nullopt* | disengaged‐optional tag; value is unused | *allocatorArg* | tag selecting the allocator‐extended constructor | *allocator* | allocator used to supply memory | *tag* | tag selecting this constructor overload | *value* | value compared with or used to initialize the optional | *inPlace* | tag selecting in‐place construction of the contained value | *args* | arguments forwarded to construct the contained value | *invocable* | callable invoked to produce the contained value | *arg* | argument forwarded to construct the contained value | *il* | initializer list forwarded to construct the contained value |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#