- xbt_swag_remove(&elem, &(elem.constraint->enabled_element_set));
- xbt_swag_remove(&elem, &(elem.constraint->disabled_element_set));
- xbt_swag_remove(&elem, &(elem.constraint->active_element_set));
- int nelements = xbt_swag_size(&(elem.constraint->enabled_element_set)) +
- xbt_swag_size(&(elem.constraint->disabled_element_set));
+ if (elem.enabled_element_set_hook.is_linked()) {
+ auto& set = elem.constraint->enabled_element_set;
+ set.erase(set.iterator_to(elem));
+ }
+ if (elem.disabled_element_set_hook.is_linked()) {
+ auto& set = elem.constraint->disabled_element_set;
+ set.erase(set.iterator_to(elem));
+ }
+ if (elem.active_element_set_hook.is_linked()) {
+ auto& set = elem.constraint->active_element_set;
+ set.erase(set.iterator_to(elem));
+ }
+ int nelements = elem.constraint->enabled_element_set.size() + elem.constraint->disabled_element_set.size();