I find the update operation on std::set
tedious since there's no such an API on cppreference. So what I currently do is something like this:
//find element in set by iterator
Element copy = *iterator;
... // update member value on copy, varies
Set.erase(iterator);
Set.insert(copy);
Basically the iterator return by Set
is a const_iterator
and you can't change its value directly.
Is there a better way to do this? Or maybe I should override std::set
by creating my own (which I don't know exactly how it works..)