...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Insert a constructed element in-place.
template< class Arg> iterator emplace( const_iterator pos, Arg&& arg);
Inserts a new element into the container directly before pos
. The element is constructed using
placement-new with the parameter std::forward<Arg>(arg)
. If capacity() < size() + 1
, a reallocation
occurs first, and all iterators and references are invalidated. Otherwise,
only the iterators and references from the insertion point forward are
invalidated. All past-the-end iterators are also invalidated.
Constant plus linear in std::distance(pos, end())
.
Strong guarantee. Calls to memory_resource::allocate
may throw.
Name |
Description |
---|---|
|
Iterator before which the element will be inserted. This may
be the |
|
The argument to forward to the |
An iterator to the inserted element