std::deque::emplace
template< class... Args >
iterator emplace( const_iterator pos, Args&&... args ); |
(since C++11) | |
Inserts a new element into the container directly before pos
. The element is constructed in-place, i.e. no copy or move operations are performed. The constructor of the element is called with the arguments std::forward<Args>(args).... The element type must be EmplaceConstructible
, MoveInsertable
and MoveAssignable
.
All iterators, including the past-the-end iterator, are invalidated. References are invalidated too, unless pos == begin() or pos == end(), in which case they are not invalidated.
Contents |
[edit] Parameters
pos | - | iterator before which the new element will be constructed |
args | - | arguments to forward to the constructor of the element |
[edit] Return value
Iterator pointing to the emplaced element.
[edit] Complexity
Linear in the lesser of the distances between pos
and either of the ends of the container.
[edit] Exceptions
If an exception is thrown (e.g. by the constructor), the container is left unmodified, as if this function was never called (strong exception guarantee).
[edit] See also
inserts elements (public member function) |