Boost logo

Boost Users :

Subject: Re: [Boost-users] Formal Review: Boost.RangeEx
From: Robert Jones (robertgbjones_at_[hidden])
Date: 2009-03-02 17:23:48


On Fri, Feb 20, 2009 at 12:28 PM, Thorsten Ottosen <nesotto_at_[hidden]>wrote:

> - What is your evaluation of the design?

The design seems sound. I really, really want to keep the operator syntax,
using
the pipe symbol, but this should not be the only or primary way to access
the
functionality, since syntax is not general enough for the general case.

The 'ed naming is not good, and for consistency across Boost the _view
naming should be used.

However, in my mind map each of the adaptors is a verb rather than a noun,
so
the expression should read as

rng | sort | unique

rather than

rng | sort_view | unique_view

Whereas when the function invocation syntax is used the _view naming seems
to
express the intent more clearly. ie

unique_view( sort_view( rng ) )

> - What is your evaluation of the implementation?

I haven't looked at the implementation in detail, but it seems well behaved,
appropriate detail hidden etc.

>
> - What is your evaluation of the documentation?

Adequate but sparse. The nature of the lazy evaluation could be made more
prominent, and the mapping of adaptors to existing Boost or STL algorithms
specified, and maybe tabulated.

>
> - What is your evaluation of the potential usefulness of the library?

Hugely useful, and becoming increasingly necessary. Ranges rather than
iterators are becoming the focus of thought, and this library is beginning
to
look like a glaring omission from Boost.

> - Did you try to use the library? With what compiler? Did you have any
> problems?

I've been using various snapshots from the vault for months, under GCC 3.4.4
and
MSVC 8. I haven't noticed any probs, but my use does not constitute
comprehensive
coverage.

> - How much effort did you put into your evaluation? A glance? A quick -
> reading? In-depth study?

More than a quick glance, close to in depth study, but patchy.

>
> - Are you knowledgeable about the problem domain?

No more than average.

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

YES YES YES YES YES!

>
>
> 1. John Torjo's range lib
>
> http://rangelib.synesis.com.au/libs/boost-rangelib-20040913.zip
> http://torjo.com/rangelib/index.html
>
> I looked at this too, although I had not been aware of its existence until
this
review invitation mentioned it. I'd say Neil's is a better cleaner
implementation.

Why did John's lib not get into Boost?

Thanks, Rob.



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net