[#bsl-multiset-03-emplace_hint]
= xref:bsl.adoc[bsl]::xref:bsl/multiset-03.adoc[multiset]::emplace&lowbar;hint
:relfileprefix: ../../
:mrdocs:

Insert into this multiset a newly&hyphen;created `value&lowbar;type` object, constructed by forwarding `get&lowbar;allocator()` (if required) and the specified (variable number of) `args` to the corresponding constructor of `value&lowbar;type` (in amortized constant time if the specified `hint` is a valid immediate successor to the `value&lowbar;type` object constructed from `args`)&period; Return an iterator referring to the newly created and inserted object in this multiset&period; If `hint` is not a valid immediate successor to the `value&lowbar;type` object implied by `args`, this operation has `O&lsqb;log(N)&rsqb;` complexity where `N` is the size of this multiset&period; This method requires that the (template parameter) type `KEY` be `emplace&hyphen;constructible` from `args` (see &lcub;Requirements on `KEY`&rcub;)&period; The behavior is undefined unless `hint` is an iterator in the range `&lsqb;begin() &period;&period; end()&rsqb;` (both endpoints included)&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class&period;&period;&period; Args&gt;
xref:bsl/multiset-03/iterator.adoc[multiset&lt;KEY, COMPARATOR, ALLOCATOR&gt;::iterator]
emplace&lowbar;hint(
    xref:bsl/multiset-03/const_iterator.adoc[const&lowbar;iterator] hint,
    Args&&&period;&period;&period; args);
----


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