array::emplace
Insert a constructed element in-place.
Synopsis
template<
class Arg>
array::iterator
emplace(
array::const_iterator pos,
Arg&& arg);
Description
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.
Complexity
Linear in std::distance(pos, end())
.
Exception Safety
Strong guarantee. Calls to memory_resource::allocate
may throw.
Return Value
An iterator to the inserted element
Parameters
Name | Description |
---|---|
|
Iterator before which the element will be inserted. This may be the |
|
The argument to forward to the |