Я считаю, что операция обновления на std::set утомительна, так как на cppreference такого API нет. Так что я сейчас делаю что-то вроде этого:
//find element in set by iterator
Element copy = *iterator;
... // update member value on copy, varies
Set.erase(iterator);
Set.insert(copy);
По сути, возвращаемое Set значение итератора является const_iterator и вы не можете напрямую изменить его значение.
Есть лучший способ сделать это? Или, может быть, я должен переопределить std::set, создав свой собственный (который я не знаю точно, как это работает..)