On Mon, Apr 6, 2009 at 10:46 PM, Thorsten Ottosen <thorsten.ottosen@dezide.com> wrote:
Dmitry Vinogradov skrev:


Calling process_range() twice is not a solution in my case. Copying references to a new container is a better way.

Regarding efficiency, can you look thru my rough concat() implementation attached to discover any its disadvantages?

It is undeniably more elegant than calling algorithms n times as a general solution. It is possible to improve performance by reordering some of the boolean expressions and by reducing the use of boost variant.
 

If the performance is good,this baby should be included in the range library asap.

I would like to implement a new version of this functionality, since I have some code I had prototyped previously. I believe that the idea is good, but the functionality should efficiently support two random access iterators, and that the performance can be improved by reducing the use of boost::variant, although I would have to measure the variant approach to be certain. I can add this to the list of things to do in response to the Boost.RangeEx review.
 

-Thorsten

Neil