
On Wed, Jun 18, 2008 at 2:30 PM, Beman Dawes <bdawes@acm.org> wrote:
Jeff Garland wrote:
...
As I said above we have some boost specific concerns that we may need to address in our implementation. I think I'll want to put the new stuff in a new namespace -- do we have anything for 0x yet? Maybe boost::cpp0x or boost::cpp0x::date_time?
One thing that came out of the LWG's discussion of N2615 was a strong (10 for, 0 against) preference for putting the clock/duration/time_point stuff in a sub-namespace. While the LWG reserves the right to make future sub-namespace decisions on a case-by-case basis, there was strong support for sub-namespaces for specific problem domains, particularly those with a lot of very common names inside. Perhaps that can guide your choices.
That's good to hear. The TR2 date-time stuff is really dangerous without a namespace...
Hum... I think we should follow the Boost TR1 practice, which provides the actual declarations and definitions in a boost:: sub-namespace, and then provides a <boost/tr1/whatever> header that hoists the names into namespace std::tr1 with usings.
So in this case, we would provide a <boost/cpp0x/chrono> header with names in namespace std::chrono. The names would be hoisted into that namespace via usings from a boost namespace such as your suggested boost::cpp0x::date_time or boost::date_time::cpp0x or boost::date_time::chrono or whatever.
How does that sound?
Works for me.
Perhaps all of us working on C++0x stuff could work on a common branch, say branches/cpp0x.
Do we need a branch? Since much of the initial stuff is additions I think a big chunk can just go on the main branch -- I'm just worried it will be hard to get tests if we go to a branch. Jeff