template <class P>
pair<iterator, bool> insert(P&& obj);
Remarks: Эта подпись не будет участвовать в разрешении перегрузки , если is_constructible_v<value_type, P&&> не true.
template <class P>
iterator insert(const_iterator hint, P&& obj);
Remarks: Эта подпись не будет участвовать в разрешении перегрузки , если is_constructible_v<value_type, P&&> не true.
template <class... Args>
pair<iterator, bool> try_emplace(const key_type& k, Args&&... args);
template <class... Args>
iterator try_emplace(const_iterator hint, const key_type& k, Args&&... args);
Requires: value_type должны быть EmplaceConstructible в unordered_map с piecewise_construct, forward_as_tuple(k), forward_as_tuple(std::forward<Args>(args)...).
Effects: Если карта уже содержит элемент, ключ которого эквивалентен k, эффекта не будет. В противном случае вставляет объект типа , value_type построенный с piecewise_construct, forward_as_tuple(k), forward_as_tuple(std::forward<Args>(args)...).
Returns: В первой перегрузке bool компонент возвращенной пары есть true тогда и только тогда, когда вставка имела место. Возвращенный итератор указывает на элемент карты, ключ которого эквивалентен k.
template <class... Args>
pair<iterator, bool> try_emplace(key_type&& k, Args&&... args);
template <class... Args>
iterator try_emplace(const_iterator hint, key_type&& k, Args&&... args);
Requires: value_type должны быть EmplaceConstructible в unordered_map с piecewise_construct, forward_as_tuple(std::move(k)), forward_as_tuple(std::forward<Args>(args)...).
Effects: Если карта уже содержит элемент, ключ которого эквивалентен k, эффекта не будет. В противном случае вставляет объект типа , value_type построенный с piecewise_construct, forward_as_tuple(std::move(k)), forward_as_tuple(std::forward<Args>(args)...).
Returns: В первой перегрузке bool компонент возвращенной пары есть true тогда и только тогда, когда вставка имела место. Возвращенный итератор указывает на элемент карты, ключ которого эквивалентен k.
template <class M>
pair<iterator, bool> insert_or_assign(const key_type& k, M&& obj);
template <class M>
iterator insert_or_assign(const_iterator hint, const key_type& k, M&& obj);
Requires: is_assignable_v<mapped_type&, M&&> будет true. value_type должны быть EmplaceConstructible в unordered_map с k, std::forward<M>(obj).
Effects: Если карта уже содержит элемент e , ключ эквивалентен k, правопреемник std::forward<M>(obj) в e.second. В противном случае вставляет объект типа , value_type построенный с k, std::forward<M>(obj).
Returns: В первой перегрузке bool компонент возвращенной пары есть true тогда и только тогда, когда вставка имела место. Возвращенный итератор указывает на элемент карты, ключ которого эквивалентен k.
template <class M>
pair<iterator, bool> insert_or_assign(key_type&& k, M&& obj);
template <class M>
iterator insert_or_assign(const_iterator hint, key_type&& k, M&& obj);
Requires: is_assignable_v<mapped_type&, M&&> будет true. value_type должны быть EmplaceConstructible в unordered_map с std::move(k), std::forward<M>(obj).
Effects: Если карта уже содержит элемент e , ключ эквивалентен k, правопреемник std::forward<M>(obj) в e.second. В противном случае вставляет объект типа , value_type построенный с std::move(k), std::forward<M>(obj).
Returns: В первой перегрузке bool компонент возвращенной пары есть true тогда и только тогда, когда вставка имела место. Возвращенный итератор указывает на элемент карты, ключ которого эквивалентен k.