
7 May
2009
7 May
'09
8:09 a.m.
Hi Guys, As of now I failed to get such an algo. I've come up with an proposed solution. Please verify: namespace Boost{ template <typename CONTAINER> void replace_key(CONTAINER& container, const typename CONTAINER::key_type& oldKey, const typename CONTAINER::key_type& newKey) { typename CONTAINER::iterator begin(container.find(oldKey)); for(;;){ if(begin != container.end()){ container.insert(typename CONTAINER::value_type(newKey, begin->second)); container.erase(begin++); begin = container.find(oldKey); } else{ return; } } } } make sense?