class Update final
{
public:
- Update(const PtrLink<Bag, BagInfo> *bag_link, Bag::Updater *u)
- {
- link(bag_link);
- updater(u);
- }
+ // NOTE Bag-to-BagInfo link is no longer necessary
+ // TODO Rewrite constructor
+ Update(const PtrLink<Bag, BagInfo> *, Bag::Updater *u) { updater(u); }
public:
~Update();
public:
- void link(const PtrLink<Bag, BagInfo> *l) { _link = l; }
-
-public:
Bag *bag(void) const { return _bag; }
void bag(Bag *bag);
void updater(Bag::Updater *u) { _updater = u; }
private:
- const PtrLink<Bag, BagInfo> *_link;
-
-private:
Bag *_bag = nullptr;
Bag::Updater *_updater = nullptr;
};
{
if (_bag)
{
- if (_link)
+ // TODO Remove unnecessary indentation
{
- auto info = _link->find(_bag);
+ auto info = _bag->_info.get();
assert(info != nullptr);
info->updates()->erase(this);
}
if (bag)
{
_bag = bag;
- if (_link)
+ // TODO Remove unnecessary indentation
{
- auto info = _link->find(_bag);
+ auto info = _bag->_info.get();
assert(info != nullptr);
info->updates()->insert(this);
}