CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Sat, 19 Jul 2025 19:27:12 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/unordered_set/unordered_multiset/emplace/
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 19 Jul 2025 19:27:12 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"8a6d-i+O6IgmlGiysT8Y4xyZ5yVaZmH0"
Content-Encoding: gzip
Inserts a new element in the unordered_multiset. This new element is constructed in place using args as the arguments for the element's constructor.
This effectively increases the container size by one.
A similar member function exists, insert, which either copies or moves existing objects into the container.
Member type iterator is a forward iterator type.
All iterators in an unordered_multiset have const access to the elements: Elements can be inserted or removed, but not modified while in the container.
The storage for the new element is allocated using allocator_traits<allocator_type>::construct(), which may throw exceptions on failure (for the default allocator, bad_alloc is thrown if the allocation request does not succeed).
Possible output:
Worst case: linear in container size.
May trigger a rehash (not included).
A rehash is forced if the new container size after the insertion operation would increase above its capacity threshold (calculated as the container's bucket_count multiplied by its max_load_factor).
References to elements in the unordered_multiset container remain valid in all cases, even after a rehash.
Reference
C library:
- <cassert> (assert.h)
- <cctype> (ctype.h)
- <cerrno> (errno.h)
-
<cfenv> (fenv.h)C++11
- <cfloat> (float.h)
-
<cinttypes> (inttypes.h)C++11
- <ciso646> (iso646.h)
- <climits> (limits.h)
- <clocale> (locale.h)
- <cmath> (math.h)
- <csetjmp> (setjmp.h)
- <csignal> (signal.h)
- <cstdarg> (stdarg.h)
-
<cstdbool> (stdbool.h)C++11
- <cstddef> (stddef.h)
-
<cstdint> (stdint.h)C++11
- <cstdio> (stdio.h)
- <cstdlib> (stdlib.h)
- <cstring> (string.h)
-
<ctgmath> (tgmath.h)C++11
- <ctime> (time.h)
-
<cuchar> (uchar.h)C++11
- <cwchar> (wchar.h)
- <cwctype> (wctype.h)
Containers:
-
<array>C++11
- <deque>
-
<forward_list>C++11
- <list>
- <map>
- <queue>
- <set>
- <stack>
-
<unordered_map>C++11
-
<unordered_set>C++11
- <vector>
-
Input/Output:
Multi-threading:
-
<atomic>C++11
-
<condition_variable>C++11
-
<future>C++11
-
<mutex>C++11
-
<thread>C++11
-
Other:
- <algorithm>
- <bitset>
-
<chrono>C++11
-
<codecvt>C++11
- <complex>
- <exception>
- <functional>
-
<initializer_list>C++11
- <iterator>
- <limits>
- <locale>
- <memory>
- <new>
- <numeric>
-
<random>C++11
-
<ratio>C++11
-
<regex>C++11
- <stdexcept>
- <string>
-
<system_error>C++11
-
<tuple>C++11
-
<type_traits>C++11
-
<typeindex>C++11
- <typeinfo>
- <utility>
- <valarray>
<unordered_set>
-
unordered_multisetC++11
-
unordered_setC++11
unordered_multiset
-
unordered_multiset::~unordered_multisetC++11
-
unordered_multiset::unordered_multisetC++11
member functions
-
unordered_multiset::beginC++11
-
unordered_multiset::bucketC++11
-
unordered_multiset::bucket_countC++11
-
unordered_multiset::bucket_sizeC++11
-
unordered_multiset::cbeginC++11
-
unordered_multiset::cendC++11
-
unordered_multiset::clearC++11
-
unordered_multiset::countC++11
-
unordered_multiset::emplaceC++11
-
unordered_multiset::emplace_hintC++11
-
unordered_multiset::emptyC++11
-
unordered_multiset::endC++11
-
unordered_multiset::equal_rangeC++11
-
unordered_multiset::eraseC++11
-
unordered_multiset::findC++11
-
unordered_multiset::get_allocatorC++11
-
unordered_multiset::hash_functionC++11
-
unordered_multiset::insertC++11
-
unordered_multiset::key_eqC++11
-
unordered_multiset::load_factorC++11
-
unordered_multiset::max_bucket_countC++11
-
unordered_multiset::max_load_factorC++11
-
unordered_multiset::max_sizeC++11
-
unordered_multiset::operator=C++11
-
unordered_multiset::rehashC++11
-
unordered_multiset::reserveC++11
-
unordered_multiset::sizeC++11
-
unordered_multiset::swapC++11
-
non-member overloads
public member function
<unordered_set>
std::unordered_multiset::emplace
template <class... Args> iterator emplace ( Args&&... args );
Construct and insert element
This effectively increases the container size by one.
A similar member function exists, insert, which either copies or moves existing objects into the container.
Parameters
- args
- Arguments passed to the constructor of the a new element to be inserted.
Return value
An iterator to the newly inserted element.Member type iterator is a forward iterator type.
All iterators in an unordered_multiset have const access to the elements: Elements can be inserted or removed, but not modified while in the container.
The storage for the new element is allocated using allocator_traits<allocator_type>::construct(), which may throw exceptions on failure (for the default allocator, bad_alloc is thrown if the allocation request does not succeed).
Example
|
|
Possible output:
myset contains: tea coffee milk milk |
Complexity
Average case: constant.Worst case: linear in container size.
May trigger a rehash (not included).
Iterator validity
On most cases, all iterators in the container remain valid after the insertion. The only exception being when the growth of the container forces a rehash. In this case, all iterators in the container are invalidated.A rehash is forced if the new container size after the insertion operation would increase above its capacity threshold (calculated as the container's bucket_count multiplied by its max_load_factor).
References to elements in the unordered_multiset container remain valid in all cases, even after a rehash.
See also
- unordered_multiset::insert
- Insert elements (public member function)
- unordered_multiset::find
- Get iterator to element (public member function)
Home page | Privacy policy
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us