[#bsl-variant-emplace-03] = xref:bsl.adoc[bsl]::xref:bsl/variant.adoc[variant]::emplace :relfileprefix: ../../ :mrdocs: `emplace` overloads == Synopses Declared in `<bslstl_variant.h>` Create a `t_TYPE` alternative in place from `args`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_TYPE, class... t_ARGS> requires BSLSTL_VARIANT_HAS_UNIQUE_TYPE(t_TYPE) && std::is_constructible<t_TYPE, t_ARGS...>::value t_TYPE& xref:bsl/variant/emplace-06.adoc[emplace](t_ARGS&&... args); ---- [.small]#xref:bsl/variant/emplace-06.adoc[_» more..._]# Create the `t_INDEX` alternative in place from `args`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< std::size_t t_INDEX, class... t_ARGS> requires (t_INDEX < 1 + sizeof...(t_TAIL)) && std::is_constructible<BSLSTL_VARIANT_TYPE_AT_INDEX(t_INDEX), t_ARGS...>::value variant_alternative<t_INDEX, variant<t_HEAD, t_TAIL...>>::type& xref:bsl/variant/emplace-02.adoc[emplace](t_ARGS&&... args); ---- [.small]#xref:bsl/variant/emplace-02.adoc[_» more..._]# Create a `t_TYPE` alternative in place from `il` and `args`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_TYPE, class INIT_LIST_TYPE, class... t_ARGS> requires BSLSTL_VARIANT_HAS_UNIQUE_TYPE(t_TYPE) && std::is_constructible<t_TYPE, std::initializer_list<INIT_LIST_TYPE>&, t_ARGS...>::value t_TYPE& xref:bsl/variant/emplace-04.adoc[emplace]( std::initializer_list<INIT_LIST_TYPE> il, t_ARGS&&... args); ---- [.small]#xref:bsl/variant/emplace-04.adoc[_» more..._]# Create the `t_INDEX` alternative in place from `il` and `args`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< std::size_t t_INDEX, class INIT_LIST_TYPE, class... t_ARGS> requires (t_INDEX < 1 + sizeof...(t_TAIL)) && std::is_constructible<BSLSTL_VARIANT_TYPE_AT_INDEX(t_INDEX), std::initializer_list<INIT_LIST_TYPE>&, t_ARGS...>::value variant_alternative<t_INDEX, variant<t_HEAD, t_TAIL...>>::type& xref:bsl/variant/emplace-01.adoc[emplace]( std::initializer_list<INIT_LIST_TYPE> il, t_ARGS&&... args); ---- [.small]#xref:bsl/variant/emplace-01.adoc[_» more..._]# == Return Value * reference to the newly created `t_TYPE` object * reference to the newly created alternative object == Parameters [cols="1,4"] |=== | Name| Description | *args* | arguments used to construct the `t_TYPE` alternative | *il* | initializer list used to construct the `t_TYPE` alternative |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#