
Jeff Garland wrote:
...
Although these clock and time features evolved from Boost
Date-Time, the actual realization is quite different. So we've got a transition that has to be managed. I'd personally like to see that transition occur quickly, both because Boost.Threads depends on these features, and because I can now bring forward an improved Boost.Timer based on these features.
I agree, I'd like to see this happen rather quickly -- because of the differences you cite I have to rework the TR2 proposal and I'd like to understand all the details of how that will be achieved.
OK, let's work to make it all happen. See below for possibilities.
At the same time I think we need to look at maintaining some backward compatibility with the Boost date-time types so those users don't necessarily need to rewrite code.
Agreed.
...
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. 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? Perhaps all of us working on C++0x stuff could work on a common branch, say branches/cpp0x.
Jeff's on the beach this week (literally). :-)
Quite true -- I can see the sand from where I type -- and feel the soreness from 3 hours in the surf with the kids yesterday ;-)
Ah! The good life! --Beman