Fixes handling of empty ranges and ranges with l>r
Also adresses the problem of using `std::distance()` with different iterator and sentinel types.
Please register or sign in to comment
Also adresses the problem of using `std::distance()` with different iterator and sentinel types.