From the code it seems like ranges::actions::sort
has
- one overload that indeed forwards all arguments to
ranges::sort
, - and another one which… well, I've got a bit lost into the rabbit hole of
bind_back
andmake_action_closure
, but the point is that it takes just(C pred, P proj = {})
, so I guess it's to be used in conjunction with the|
operator; however, I don't really see if it ends up calling the other overloads (or directlyranges::sort
).
How does that work?
Assuming the answer to the first question in the title is yes, then why have these pieces of code been separated in two headers? Do you see any advantage or necessity for doing so?