
From: "Marcin Kalicinski" <kalita@poczta.onet.pl>
I can't speak for all of these, but some of them are libraries that don't have their own namespace (e.g. enable_if). As long as enable_if is directly in namespace boost, it makes sense that its detail is in boost::detail.
I don't subscribe to that. I think details of every distinct library should be in a separate namespace. The reason is detail stuff is not documented and changes frequently, so no library writer can actually add safely any new name to boost::detail. This means that boost::detail should not exist at all, unless it is used only by 1 library. Detail name clashes can be very frustrating because they only manifest when certain header file combinations are included into one translation unit.
The point you make is valid, but the problem is that those headers don't belong to a library. Still, detail/enable_if.hpp could fabricate detail::enable_if or something like that. -- Rob Stewart stewart@sig.com Software Engineer http://www.sig.com Susquehanna International Group, LLP using std::disclaimer;