diff options
Diffstat (limited to 'impl/MaxStrategy.hpp')
-rw-r--r-- | impl/MaxStrategy.hpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/impl/MaxStrategy.hpp b/impl/MaxStrategy.hpp index f330f3b..96aeef4 100644 --- a/impl/MaxStrategy.hpp +++ b/impl/MaxStrategy.hpp @@ -54,14 +54,16 @@ struct DynamicMaxStrategy : public MaxStrategy<Domain> { log::strategy << indent() << "Invalidating " << v << " - " << *_system[v] << std::endl; _stable.filter(_var_influence[v]); + IdSet<MaxExpression<Domain> > infl = _var_influence[v]; + _var_influence[v].clear(); + for (typename IdSet<MaxExpression<Domain> >::iterator - it = _var_influence[v].begin(), - end = _var_influence[v].end(); + it = infl.begin(), + end = infl.end(); it != end; ++it) { solve(_system.maxExpression(*it)); } - _var_influence[v].clear(); } private: |