template <class M>
pair<iterator, bool> insert_or_assign(const key_type& k, M&& obj); (1) (since C++17) template <class M>
pair<iterator, bool> insert_or_assign(key_type&& k, M&& obj); (2) (since C++17) template <class M>
iterator insert_or_assign(const_iterator hint, const key_type& k, M&& obj); (3) (since C++17) template <class M>
iterator insert_or_assign(const_iterator hint, key_type&& k,