KDAlgorithms
KDAlgorithms copied to clipboard
Algorithm wrappers
Possibly related to #4 is it possible to make the algorithms work with subranges? Occasionally I need to use an algorithm on a subset of a container. I like using...
updates: - [github.com/fsfe/reuse-tool: v3.0.1 → v3.0.2](https://github.com/fsfe/reuse-tool/compare/v3.0.1...v3.0.2)
Take a vector of QPoint, and use `kdalgorithms::remove_duplicates` with `kdalgorithms::do_not_sort`: I would expect this to do: points.erase(std::unique(points.begin(), points.end()), points.end()); But it complains that the type has no operator
See https://github.com/KDAB/KDAlgorithms/pull/15#discussion_r970693346
A container's type may include non-type template parameters, e.g. ``` QVarLengthArray container; // ^^ NTTP ``` Accepting them with `template typename Container` will therefore fail: ``` QVector vec{1, 2, 3,...
The convenience operators should be constrained to only take predicates or similar. Otherwise, if they're in scope, then all sorts of nonsense starts compiling: ``` using namespace KDAlgorithms::Operators; std::string to_be;...
If you have a `std::list`, you're supposed to call `list.remove_if(predicate)`, and *not* `std::remove_if(list, predicate)`. That's because shuffling around the _nodes_ of the list can be much much cheaper than shuffling...
We cannot pretend that ranges don't exist. While rightfully one does NOT want to reimplement the algorithms themselves¹, one should still * reason in terms of iterator/sentinel pairs, instead of...
updates: - [github.com/fsfe/reuse-tool: v5.0.2 → v6.2.0](https://github.com/fsfe/reuse-tool/compare/v5.0.2...v6.2.0)