[#bsl-vector-0aa7-emplace]
= xref:bsl.adoc[bsl]::xref:bsl/vector-0aa7.adoc[vector&lt;long double&gt;]::emplace
:relfileprefix: ../../
:mrdocs:

Insert at the specified `position` in this vector a newly created `value&lowbar;type` object, constructed by forwarding `get&lowbar;allocator()` (if required) and the specified (variable number of) `arguments` to the corresponding constructor of `value&lowbar;type`, and return an iterator referring to the newly created and inserted element&period; If an exception is thrown (other than by the copy constructor, move constructor, assignment operator, or move assignment operator of `value&lowbar;type`), `&ast;this` is unaffected&period; Throw `std&colon;&colon;length&lowbar;error` if `size() &equals;&equals; max&lowbar;size()`&period; The behavior is undefined unless `position` is an iterator in the range `&lsqb;begin() &period;&period; end()&rsqb;` (both endpoints included)&period; This method requires that the (template parameter) type `VALUE&lowbar;TYPE` be `move&hyphen;insertable` into this vector and `emplace&hyphen;constructible` from `arguments` (see &lcub;Requirements on `VALUE&lowbar;TYPE`&rcub;)&period;

== Synopsis

Declared in `&lt;bslstl&lowbar;vector&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class&period;&period;&period; Args&gt;
xref:bsl/vector-0aa7/iterator.adoc[iterator]
emplace(
    xref:bsl/vector-0aa7/const_iterator.adoc[const&lowbar;iterator] position,
    Args&&&period;&period;&period; arguments);
----

== Description

NOTE&colon; This function has been implemented inline due to an issue with the Sun compiler&period;


[.small]#Created with https://www.mrdocs.com[MrDocs]#
