Boost logo

Boost :

From: Pavol Droba (droba_at_[hidden])
Date: 2004-05-03 12:33:18


Hi,

Here is my review of the collection traits library.

I have been working with the library quite a long time. I have
seen it evolving to the current state. Former version of the library
is already incorporated as a part of the string algorithm library.

> - What is your evaluation of the design?

Desing is simple and good. I found it sufficient for the utility like
this on. Design allows to integrate other non-stl containers with
ease. I wonder it somebody would try to adapt f.e. MFC CString.

> - What is your evaluation of the implementation?

Implementation works on compliant compilers and there is a handful
of workarounds for defficient compilers. Currently restricted
implementation only supports char and wchar_t arrays. The string_algo
version is more powerful, but it is questionable, if the addtional
effort put into workaround is wort it.

> - What is your evaluation of the documentation?

Documentation is rather simple. It explains the basic concepts and
definitions of the library. I found it sufficient as a reference.
It might help it there would be more examples of potential usefulness
of the library. Potential is great, however it is not easy to uncover
it.

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

Library is very useful. It allows to write a large set of algorithms
without resticting to a concreate type of the container. Non-intrusive
nature of the library interface allows to use also uncommon
containers, with these algorithms.

>From my own experience, this library has at least halved the number
of overloads in the string algo library. For instance, boost regex
library provide at two-three overloads for every algorithm.
(std::basic_string, char* and iterator-base). With collection_traits
(and a little help of iterator_range class) it was possible to have
just one variant that handle all these three cases and even more.

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

A have tried to switch string_algo library to use the
collection_traits instead of build-in version. After a couple of bug
fixes provided by Thorsten, string_algo library passed all tests under
vc7.1 and gcc3.3.1

Unfortunately I was not able to test less compliant compilers like
vc7.0

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

Throughout study with a large implemetation case.

> - Are you knowledgeable about the problem domain?

As far as I can tell, I am.

> Please always state in your review, whether you think the library should be
> accepted as a Boost library!

I vote to ACCEPT the library to boost collection.

Regards,

Pavol


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk