26 Containers library [containers]

26.5 Unordered associative containers [unord]

26.5.4 Class template unordered_­map [unord.map]

26.5.4.4 unordered_­map modifiers [unord.map.modifiers]

template <class P> pair<iterator, bool> insert(P&& obj);

Effects: Эквивалентен: return emplace(std​::​forward<P>(obj));

Remarks: Эта подпись не будет участвовать в разрешении перегрузки , если is_­constructible_­v<value_­type, P&&> не true.

template <class P> iterator insert(const_iterator hint, P&& obj);

Effects: Эквивалентен: return emplace_­hint(hint, std​::​forward<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.

Complexity: То же, что emplace и emplace_­hintсоответственно.

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.

Complexity: То же, что emplace и emplace_­hintсоответственно.

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.

Complexity: То же, что emplace и emplace_­hintсоответственно.

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.

Complexity: То же, что emplace и emplace_­hintсоответственно.