
On Oct 11, 2010, at 6:54 AM, Dave Abrahams wrote:
On Oct 11, 2010, at 6:42 AM, "Stewart, Robert" <Robert.Stewart@sig.com> wrote:
If all new libraries use lib_detail rather than detail, the problem just shifts, unless you mean <lib>_detail, where "<lib>" is replaced by the library name. Still, as I've shown, that simply mixes paradigms making it a little more surprising, I should think. If we can establish that pattern as desirable, then new libraries can adopt it and it will be expected, of course.
Don't forget you can always use locally-defined namespace aliases, e.g. namespace brd = boost::ratios::detail defined within boost::ratios, to avoid such collisions.
I haven't been following this discussion closely but is there any way to use namespaces for version control along the lines of what Stroupstrup mentioned in D&E? It's been quite a while since I looked at it but perhaps with suitable modification it could help address some of these concerns. -- Noel