diff options
Diffstat (limited to 'impl/MaxStrategy.hpp')
-rw-r--r-- | impl/MaxStrategy.hpp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/impl/MaxStrategy.hpp b/impl/MaxStrategy.hpp index d15884c..667c127 100644 --- a/impl/MaxStrategy.hpp +++ b/impl/MaxStrategy.hpp @@ -36,9 +36,9 @@ struct DynamicMaxStrategy : public MaxStrategy<Domain> { _values(system.maxExpressionCount(), 0), _stable(system.maxExpressionCount()), _influence(system.maxExpressionCount(), - IdSet<MaxExpression<Domain>>(system.maxExpressionCount())), + IdSet<MaxExpression<Domain> >(system.maxExpressionCount())), _var_influence(system.variableCount(), - IdSet<MaxExpression<Domain>>(system.maxExpressionCount())) + IdSet<MaxExpression<Domain> >(system.maxExpressionCount())) {} void setRho(DynamicVariableAssignment<Domain>& rho) { @@ -54,8 +54,10 @@ struct DynamicMaxStrategy : public MaxStrategy<Domain> { log::strategy << indent() << "Invalidating " << v << " - " << *_system[v] << std::endl; _stable.filter(_var_influence[v]); - for (auto it = _var_influence[v].begin(); - it != _var_influence[v].end(); + for (typename IdSet<MaxExpression<Domain> >::iterator + it = _var_influence[v].begin(), + end = _var_influence[v].end(); + it != end; ++it) { solve(_system.maxExpression(*it)); } @@ -75,7 +77,7 @@ private: if (val != _values[x]) { log::strategy << x << " => " << *x.arguments()[val] << std::endl; - auto oldInfluence = _influence[x]; + IdSet<MaxExpression<Domain> > oldInfluence = _influence[x]; _influence[x].clear(); _values[x] = val; @@ -83,8 +85,10 @@ private: _stable.filter(oldInfluence); - for (auto it = oldInfluence.begin(); - it != oldInfluence.end(); + for (typename IdSet<MaxExpression<Domain> >::iterator + it = oldInfluence.begin(), + end = oldInfluence.end(); + it != end; ++it) { solve(_system.maxExpression(*it)); } @@ -135,9 +139,9 @@ private: const EquationSystem<Domain>& _system; mutable DynamicVariableAssignment<Domain>* _rho; mutable IdMap<MaxExpression<Domain>,unsigned int> _values; - mutable IdSet<MaxExpression<Domain>> _stable; - mutable IdMap<MaxExpression<Domain>,IdSet<MaxExpression<Domain>>> _influence; - mutable IdMap<Variable<Domain>,IdSet<MaxExpression<Domain>>> _var_influence; + mutable IdSet<MaxExpression<Domain> > _stable; + mutable IdMap<MaxExpression<Domain>,IdSet<MaxExpression<Domain> > > _influence; + mutable IdMap<Variable<Domain>,IdSet<MaxExpression<Domain> > > _var_influence; }; /*template<typename Domain> |