
From: David Abrahams <dave@boost-consulting.com>
Rob Stewart <stewart@sig.com> writes:
Some libraries, however, have their own namespace but put things into boost::detail. Those libraries can have or contribute to clashes.
What libraries are doing that? The authors might need a dope-slap. I hope it's not one of mine! ;-)
This isn't exhaustive, but here are a few examples that I found (I tried to skip related matches): detail/atomic_count.hpp:83 detail/binary_search.hpp:34 detail/call_traits.hpp:32 detail/compressed_pair.hpp:39 detail/dynamic_bitset.hpp:26 detail/lwm_nop.hpp:23 detail/named_template_params.hpp:21 detail/quick_allocator.hpp:33 detail/shared_count.hpp:40 graph/adjacency_list.hpp:230 iterator/counting_iterator.hpp:24 pool/pool.hpp:71 test/execution_monitor.hpp:51 thread/condition.hpp:31 type_traits/add_pointer.hpp:19 utility/enable_if.hpp:78 The following are examples in which another namespace is created inside boost::detail rather than a detail namespace within the library namespace. This keeps the names separate, but still seems inverted. detail/allocator_utilities.hpp:23 function/function_base.hpp:106 multi_array/algorithm.hpp:46 variant/get.hpp:59 -- Rob Stewart stewart@sig.com Software Engineer http://www.sig.com Susquehanna International Group, LLP using std::disclaimer;