From: Powell, Gary (powellg_at_[hidden])
Date: 2004-04-09 19:40:50
Finally I have some more time to look at this library.
My first complaint is that by default it links in the world. I think for something like this, we need to not link in every standard container and graph and tuple etc include file.
I'm glad that the library handles it but the dependency graph is ridiculous. And yes I know that I can link in just the necessary sub include files, but my complaint is that it will trap the unwary user by default. I think if the basic file boost/assign.hpp only linked the minimum necessary I'd be much happier. Of course who is to say what is the minimum? So how about changing the name to boost/assign_to_anything.hpp (blech!) or something similar with the name being more of a warning.
The file boost/assign/stl.hpp
also unnecessarily includes every std container. At a minimum the use of BOOST_NO_FUNCTION_TEMPLATE_ORDERING shows that only <queue>, and <stack> are required. The define should also be around the unnecessary include files.
There also appear to be two useless files in the distribution, make.hpp and template.hpp that should be removed. (minor cleanup)
I did a cursory look at the docs, and will try and get back to them.
I ran the tests with gcc 3.2 and they all compiled fine and ran fine.
I vote for acceptance with the qualification that the stl.hpp header be reorganized into sub headers. I may come back with more stuff about the docs but it won't be to change my vote.
(Dang standard for not splitting out <vector_fwd> et.al. )
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk