Boost logo

Boost Announcement :

Subject: [Boost-announce] [boost] Formal Review: Boost.RangeEx
From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2009-02-20 07:28:36

Dear Developers and Users,

It's my pleasure to announce that the review of Neil Groves' RangeEx
library starts today and lasts until March 3, 2009.

What is it?

The library provide two very useful extensions to the range library

1. Range-based algorithms. E.g.

   boost::sort( rng );

which is a convenient wrapper of instead of

   std::sort( boost::begin(rng), boost::end(rng) );

But the new interface also allows for more expressive code because
(on the fly) composition of algorithms suddenly is possible.

2. Range adaptors. E.g.

        std::vector<int> vec = ...;
        boost::copy( vec | boost::adaptors::reversed,
                     std::ostream_iterator<int>( std::cout ) );

where the expression "vec | boost::adaptors::reversed" wraps the
iterators of the range on the left in reverse iterators. The library
provides a wide range (no pun intended) of Range adaptors, and they
are a powerful way to create ranges on the fly and pass them to

Getting the library

The library may be downloaded from

or from the Boost vault under "Algorithms". The docs may be browsed
online here

Please note that the documentation is integrated with the current
Range ilbrary. Therefore the relevant sections for the review is


The code may be browsed here:

Notice the library is header only
(exception: the adaptor tokenized() depends on Boost.Regex).

Writing a review

If you feel this is an interesting library, then please submit your
review to the developer list (preferably), or to the review manager.

Here are some questions you might want to answer in your review:

- What is your evaluation of the design?
- What is your evaluation of the implementation?
- What is your evaluation of the documentation?
- What is your evaluation of the potential usefulness of the library?
- Did you try to use the library? With what compiler? Did you have any
- How much effort did you put into your evaluation? A glance? A quick
- reading? In-depth study?
- Are you knowledgeable about the problem domain?

And finally, every review should answer this question:

- Do you think the library should be accepted as a Boost library?

Be sure to say this explicitly so that your other comments don't
obscure your overall opinion.

Special considerations

Various RangeEx like libraries have been implemented in the past. You
might want to compare with those libraries when you form your oppinion:

1. John Torjo's range lib

2. Adobe's ASL libraries include range-based algorithms:

I'm looking forward to your review.

best regards

Thorsten, Review Manager

Unsubscribe & other changes:

Boost-announce list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at