Skip to content
Snippets Groups Projects
Verified Commit ffaefc5e authored by Maik Nijhuis's avatar Maik Nijhuis
Browse files

Use range-based loop in ApplyConstraints.

parent cfbb76c3
No related branches found
No related tags found
No related merge requests found
Pipeline #11689 passed
...@@ -99,16 +99,17 @@ bool SolverBase::ApplyConstraints( ...@@ -99,16 +99,17 @@ bool SolverBase::ApplyConstraints(
bool constraints_satisfied = true; bool constraints_satisfied = true;
result.results.resize(constraints_.size()); result.results.resize(constraints_.size());
auto result_iterator = result.results.begin();
for (size_t i = 0; i != constraints_.size(); ++i) { for (const std::unique_ptr<Constraint>& c : constraints_) {
Constraint& c = *constraints_[i];
// PrepareIteration() might change Satisfied(), and since we always want // PrepareIteration() might change Satisfied(), and since we always want
// to iterate at least once more when a constraint is not yet satisfied, // to iterate at least once more when a constraint is not yet satisfied,
// we evaluate Satisfied() before preparing. // we evaluate Satisfied() before preparing.
constraints_satisfied = c.Satisfied() && constraints_satisfied; constraints_satisfied = c->Satisfied() && constraints_satisfied;
c.PrepareIteration(has_previously_converged, iteration, c->PrepareIteration(has_previously_converged, iteration,
iteration + 1 >= GetMaxIterations()); iteration + 1 >= GetMaxIterations());
result.results[i] = c.Apply(next_solutions, time, stat_stream); *result_iterator = c->Apply(next_solutions, time, stat_stream);
++result_iterator;
} }
// If still not satisfied, at least iteration+1 constrained iterations // If still not satisfied, at least iteration+1 constrained iterations
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment