Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2008-06-18 17:30:11


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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk