
I do not see a point in using two boost versions in the same compilation unit. This would just increase code size.
It helps if libfoo uses boost-1.33.1 in its interface and you must use boost-1.43 for some feature that boost-1.33.1 do not have so you can actually use both versions in same unit. Of course it is not best practice but this is an issue that should be considered. Also if you do use two version of boost in same application it would be much easier to distinguish between them because you can include <my_boost/foo.h> and <your_boost/bee.h> Think of that it is possible, especially when you have 3rd part library.
Thanks for the pointers. I think it would be a great benefit for boost to make all these global names preprocessor-configurable.
Agree, but till that comes bcp would be very helpful. Artyom