
----- Original Message ----- From: "Stewart, Robert" <Robert.Stewart@sig.com> To: <boost@lists.boost.org> Sent: Friday, October 08, 2010 9:49 PM Subject: Re: [boost] Boost Evolution
vicente.botet wrote:
From: "Robert Ramey" <ramey@rrsd.com>
I'm somewhat confused about "detail". If it's an implemenation detail of a particular library it should be in that library.
+1, and I this that the name space should be prefixed by the name of the library as ratio::ratio_detail.
Why not boost::ratio::detail? Why part namespace, part prefix?
When I raised the issue with Boost.Ratio, the problem was you used boost::detail and I was concerned with cluttering that widely used namespace. If you had a boost::ratio namespace, then boost::ratio::detail would work. However, because your class template is boost::ratio<>, you can't have a boost::ratio namespace. You could have one named boost::ratios, so boost::ratios::detail would work.
Is that a reasonable pattern to require for future/refactored libraries?
There could be a conflict with other detail namespaces if the user adds using namespace boost; using namespace boost::ratios; It seems more unlikely that other libraries use ratios_detail as namespace, isn't it? I've seen that a lot of libraries uses detail namespace and others lib_detail. I think that I will move all my uses of detail to lib_detail. Best, Vicente