|
Boost : |
From: Lewis Hyatt (lhyatt_at_[hidden])
Date: 2007-03-19 10:03:47
>
> * provide an easy way to sort lists of pointers (without having to make
> a custom '<' operator each time).
this is already in boost:
some_iterator begin, end;
std::sort(boost::indirect_iterator(begin), boost::indirect_iterator(end));
* Easy way to specify different
> comparison operators for various subfields. ie. in stead of one complex
> '<' operator, specify one for each subfield and then define sortorder
> (which subfield first, ...) on sorttime.
This is an intriguing possibility, what about some intrusive design, where you
can tag class members as sort keys?
> * provide a good set of default '<' operators. at least:
> - simple types (strings, numbers, ...)
> - pointers to simple types
> - pairs of the above
Simple types and pairs already have operator<, and pointers are handled by
indirect_iterator.
> * Specify ascending vs. descending sorting. Trivial criteria really, but
> reduces complexity (or number) of the '<' operators.
std::sort(begin, end, std::greater<type>());
> * return the n highest/lowest only. (optimized, ie: not full sort and
> then cutting solution)
std::partial_sort
-Lewis
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk