The following code example is taken from the book
The C++ Standard Library - A Tutorial and Reference
by Nicolai M. Josuttis, Addison-Wesley, 1999
© Copyright Nicolai M. Josuttis 1999
namespace MyLib {
template <class Cont>
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()) {
// insert new element with value of old element
c.insert(typename Cont::value_type(new_key,
pos->second));
// remove old element
c.erase(pos);
return true;
}
else {
// key not found
return false;
}
}
}