Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove some difficult to understand C++11 constructs
Code like this is more a case of showing off one's C++ knowledge, rather than using it adequately, IMHO. **First loop (std::generate)** Iterators are inadequate here, because they lose the key information which is idx. As a result, we need to carry a redundant idx variable, and increment it along the way. Very clumsy. Usage of std::generate and a lambda function only obfuscate the code, which is merely a simple and stupid loop over the elements of a vector. **Second loop (std::accumulate)** This code is thoroughlly incomprehensible. Restore the original, which was much simpler to understand. **Third loop (range based loop)** Again, a range based loop is inadequate, because we lose idx! To resolve this artificially created problem, the data model was made redundant (idx is a data member of db[] elements!?), which is ugly and unjustified. A simple and stupid for loop with idx does the job much better. No functional change. Resolves #313
- Loading branch information