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: [patch] : Add more symantics to sort, partial_sort, nth_element


Paolo Carlini wrote:

chris jefferson wrote:



Exactly what it says in the title. This is the non-contraversal part
of the patch I sent last week. I'm still tidying up the other half.



Ok, I'm going to apply to v7 the patch basically as-is, besides a few trivial reformattings and missing std:: qualifications: passes regtesting, and looks basically sane. Also, v7 is for experimental code and we can afford a little bit of risk, for now. I will study the code in better detail over the next days, anyway.



(Famous last words) I feel fairly confident about all the code from an algorithmic viewpoint (I've stepped through it all in a debugger), although it's not totally impossible (I'm fairly confident however) that I haven't accidentally made a slight assumption I'm not permitted to use. I've been finding it fairly hard to find big pieces of C++ code which really push the standard library to be sure.

Sorry about the qualifications...

However, a *necessary precondition* for even envisaging merging to
mainline this code, is documentation on top of the new helper functions
(like __introsort_partition for moveable, __unguarded_*). I know that
comments are also lacking on top of some HP/SGI functions but we don't
want to follow forever those bad examples ;) We are risking maintainance
nightmares, otherwise.



Yes, I should have documented that.. sorry. I'm going to take the time to step back and do a bit of cleaning now I think, before submitting stable_sort / inplace_partition (which are quite intrusive).

Also, a trivial patch replacing everywhere __is_moveable::value with
__value is *very* welcome: user code *can* define a value macro, remember.



It looks like I don't have to now :) But sorry, I should still have done this some time ago!

Chris


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