On Mon, Sep 18, 2017 at 10:26 AM, Jonathan Wakely <jwak...@redhat.com> wrote: >> We need to rewrite this to check the lengths are equal first, and then >> call the 3-argument version of std::equal. >> >> Alternatively, we could move the implementation of the C++14 >> std::equal overloads to __equal and make that available for C++11. >> I'll try that. > > > Here's a proof of concept patch for that. It's a bit ugly.
Instead of having iterator tags in the interface, we can probe the random-access-ness inside __equal4/__equal4_p, can't we? It's similar to the existing "if (_RAIters()) { ... }". I'd expect the patches to be renaming the current implementations and adding wrappers, instead of adding new implementations. -- Regards, Tim Shen