From: Hans Dembinski (hans.dembinski_at_[hidden])
Date: 2020-01-23 13:58:02
> On 22. Jan 2020, at 18:23, Malte Skarupke via Boost <boost_at_[hidden]> wrote:
> Let me know what's required to get this into boost. Would you like this in the form of a pull request?
> One of the big things that probably needs review is the interface, since radix sorting works differently than comparison based sorting. For most normal uses you just need to provide a sort key, but more complicated cases can get more complicated. I tried very hard to make everything easy, but I'd also be curious if others can come up with better ways of doing the interface.
I am not an expert on Boost.Sort and only had a quick look at your changes, but:
If I understood correctly, your new algorithm increases the requirement for Boost.Sort to C++17 from C++11. I don't see a good reason for doing that. You can replace if constexpr and the generic lambdas in your implementation with other code constructs that work on C++11.
Regarding the interface, shouldn't it follow the example of spreadsort?
Regarding having an extra single-header version: that seems overkill to me. Boost.Sort already claims to have no dependencies on other Boost libraries and is header-only, which should make it extremely easy to include in any project.
"These algorithms do not use any other library or utility. The parallel algorithms need a C++11 compliant compiler."
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk