[#bsl-multimap-0ae-insert-09] = xref:bsl.adoc[bsl]::xref:bsl/multimap-0ae.adoc[multimap]::insert :relfileprefix: ../../ :mrdocs: `insert` overloads == Synopses Declared in `<bslstl_multimap.h>` Insert into this multimap the value of each `value_type` object in the specified `values` initializer list. This method requires that the (template parameter) types `KEY` and `VALUE` both be `copy‐insertable` into this multimap (see {Requirements on `KEY` and `VALUE`}). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- void xref:bsl/multimap-0ae/insert-04d.adoc[insert](std::initializer_list<value_type> values); ---- [.small]#xref:bsl/multimap-0ae/insert-04d.adoc[_» more..._]# Insert the specified `value` into this multimap. If a range containing elements equivalent to `value` already exists, insert the `value` at the end of that range. Return an iterator referring to the newly inserted `value_type` object. This method requires that the (template parameter) types `KEY` and `VALUE` both be `copy‐insertable` into this multimap (see {Requirements on `KEY` and `VALUE`}). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/multimap-0ae/iterator.adoc[multimap<KEY, VALUE, COMPARATOR, ALLOCATOR>::iterator] xref:bsl/multimap-0ae/insert-0e.adoc[insert](xref:bsl/multimap-0ae/value_type.adoc[value_type] const& value); ---- [.small]#xref:bsl/multimap-0ae/insert-0e.adoc[_» more..._]# Insert into this multimap a `value_type` object created from the specified `value`. If a range containing elements equivalent to `value_type` object already exists, insert the `value_type` object at the end of that range. Return an iterator referring to the newly inserted `value_type` object. This method requires that the (template parameter) types `KEY` and `VALUE` both be `move‐insertable` into this multimap (see {Requirements on `KEY` and `VALUE`}), and the `value_type` be constructible from the (template parameter) `ALT_VALUE_TYPE`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class ALT_VALUE_TYPE> xref:bsl/multimap-0ae/iterator.adoc[iterator] xref:bsl/multimap-0ae/insert-04c.adoc[insert](ALT_VALUE_TYPE&& value) requires std::is_constructible<value_type, ALT_VALUE_TYPE&&>::value; ---- [.small]#xref:bsl/multimap-0ae/insert-04c.adoc[_» more..._]# Insert the specified `value` into this multimap (in amortized constant time if the specified `hint` is a valid immediate successor to the key of `value`). Return an iterator referring to the newly inserted `value_type` object. If `hint` is not a valid immediate successor to the key of `value`, this operation has `O[log(N)]` complexity, where `N` is the size of this multimap. This method requires that the (template parameter) types `KEY` and `VALUE` both be `copy‐insertable` into this multimap (see {Requirements on `KEY` and `VALUE`}). The behavior is undefined unless `hint` is an iterator in the range `[begin() .. end()]` (both endpoints included). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/multimap-0ae/iterator.adoc[multimap<KEY, VALUE, COMPARATOR, ALLOCATOR>::iterator] xref:bsl/multimap-0ae/insert-0a.adoc[insert]( xref:bsl/multimap-0ae/const_iterator.adoc[const_iterator] hint, xref:bsl/multimap-0ae/value_type.adoc[value_type] const& value); ---- [.small]#xref:bsl/multimap-0ae/insert-0a.adoc[_» more..._]# Insert into this multimap the value of each `value_type` object in the range starting at the specified `first` iterator and ending immediately before the specified `last` iterator. The (template parameter) type `INPUT_ITERATOR` shall meet the requirements of an input iterator defined in the C++11 standard [24.2.3]providing access to values of a type convertible to `value_type`, and `value_type` must be `emplace‐constructible` from `*i` into this multimap, where `i` is a dereferenceable iterator in the range `[first .. last)]` (see {Requirements on `KEY` and `VALUE`}). The behavior is undefined unless `first` and `last` refer to a sequence of valid values where `first` is at a position at or before `last`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class INPUT_ITERATOR> void xref:bsl/multimap-0ae/insert-0d.adoc[insert]( INPUT_ITERATOR first, INPUT_ITERATOR last); ---- [.small]#xref:bsl/multimap-0ae/insert-0d.adoc[_» more..._]# Insert into this multimap a `value_type` object created from the specified `value` (in amortized constant time if the specified `hint` is a valid immediate successor to the object created from `value`). Return an iterator referring to the newly inserted `value_type` object in this multimap. If `hint` is not a valid immediate successor to the object created from `value`, this operation has `O[log(N)]` complexity, where `N` is the size of this multimap. This method requires that the (template parameter) types `KEY` and `VALUE` both be `move‐insertable` into this multimap (see {Requirements on `KEY` and `VALUE`}), and the `value_type` be constructible from the (template parameter) `ALT_VALUE_TYPE`. The behavior is undefined unless `hint` is an iterator in the range `[begin() .. end()]` (both endpoints included). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class ALT_VALUE_TYPE> xref:bsl/multimap-0ae/iterator.adoc[iterator] xref:bsl/multimap-0ae/insert-08.adoc[insert]( xref:bsl/multimap-0ae/const_iterator.adoc[const_iterator] hint, ALT_VALUE_TYPE&& value) requires std::is_constructible<value_type, ALT_VALUE_TYPE&&>::value; ---- [.small]#xref:bsl/multimap-0ae/insert-08.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#