// cont/newkey.hpp namespace MyLib { template inline bool replace_key (Cont& c, const typename Cont::key_type& old_key, const typename Cont::key_type& new_key) { typename Cont::iterator pos; pos = c.find(old_key); if (pos != c.end()) { // Вставка нового элемента со значением старого элемента c.insert(typename Cont::value_type(new_key, pos->second)); // Удаление старого элемента c.erase(pos); return true; } else { // Ключ не найден return false; } } }