[Development] Question about QCoreApplicationData::*_libpaths

Andre Somers andre at familiesomers.nl
Sat Jan 23 17:46:39 CET 2016


On 22-1-2016 22:51, Kevin Kofler wrote:
> I'd already be happy with those that were (are, actually) already 
> there. I'd rather have 10-20 common algorithms with a convenient API 
> than 80+ obscure ones that force me to use iterators (especially the 
> boilerplate .begin() and .end() iterators that will be used in 99+% of 
> the cases – copy&paste programming sucks).

Please note that the algorithms in STD are by no means complete. You are 
stimulated to add your own that you find useful, either as 
specializations or combinations of what is already there, as 
implementations of known algorithms in literature or even completely new 
ones ("Publish! Become Famous! (Don't patent please.)" - Sean Parent). 
Stephanov has seen his original design of STL been significantly 
shortened to get it through the commission; the proposal included much 
more than what is in STD even now after the more recent additions.

So, by all means, add what you deem useful.

I certainly agree that having to write begin/end pairs for all 
algorithms is not nice. It is the most general way to specify them 
however, so I understand why they are like this. And it even makes sense 
for some of them (like find, where you can then call find again using 
the return value of the last call to get the next match). Even for sort 
there certainly are use cases for a pair of iterators instead of passing 
the whole container. Still, it would make perfect sense to create 
versions that take a whole container. I don't even think that that is 
hard to do...

template < class Container, class Compare >
void sort ( Container container, Compare compare)
{
     sort(begin(container), end(container), compare);
};

Something like that perhaps? Feel free to add as many as you think are 
useful.

André




More information about the Development mailing list