This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Remove algo duplication


On Mon, 16 Sep 2013, Paolo Carlini wrote:

Testcases? If we have solutions which would not get right some concrete cases, we should really have testcases for those, in my opinion. Then we should double check the standard about those, how much is QoI and how much just plain conformance. Does C++11 eventually spell out more details about proxy iterators? I think at some point it was a goal, but I'm not sure how much went into the actual Standard. In principle we could even envisage two different forwarding strategies, one for C++98, pretty good, not perfect, but well within C++98 conformance. A better one for C++11, which would be able to exploit the whole move semantics, "perfect" forwarding support we have got in the language. The hope is that the whole predefined_ops.h would be anyway decently compact and understandable.

I think having the simple lexicographical_compare forward to the predicate version with std::less<void>() is valid. All I am saying is that I'll be able to tell the difference if we do it, but that's just because some copy elision won't happen (in a contrived testcase), and compilers were never forced to do copy elision, so that's ok. It should even work in C++03 with an emulation of less<void> using 16 overloads (T cv1&, U cv2&).


By the way, I thought someone had contributed less<void> and the others already, but I can't see them. Did I imagine that patch?

--
Marc Glisse


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]