
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?
From my own experience, this library has at least halved the number of overloads in the string algo library. For instance, boost regex
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. 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