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
algorithms.

Getting the library
+++++++++++++++++++

The library may be downloaded from

  http://www.cs.aau.dk/~nesotto/boost/range_ex.zip

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

  http://www.cs.aau.dk/~nesotto/boost/libs/range/

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

  http://www.cs.aau.dk/~nesotto/boost/libs/range/doc/adaptors.html

and

  http://www.cs.aau.dk/~nesotto/boost/libs/range/doc/algorithms.html

The code may be browsed here:

  http://www.cs.aau.dk/~nesotto/boost/boost/range/

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
problems?
- 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

  http://rangelib.synesis.com.au/libs/boost-rangelib-20040913.zip
  http://torjo.com/rangelib/index.html

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

  http://stlab.adobe.com/group__algorithm.html

I'm looking forward to your review.

best regards

Thorsten, Review Manager

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


Boost-announce list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk