> -----Original Message----- > From: Martin Sebor [mailto:[EMAIL PROTECTED] > Sent: Wednesday, May 21, 2008 9:24 AM > To: [email protected] > Subject: Re: Differences between tr1 and c++0x > > Travis Vitek wrote: > > As most of us know, I've been working on type_traits for the 4.3 > > release. In doing so, I've noticed that there are some pretty > > significant differences between tr1 and c++0x. My question is what > > _exactly_ are we wanting to implement here? Do we want to > have the tr1 > > stuff as it is documented [in the tr1 final], or do we want the tr1 > > additions as they appear in the c++0x working draft? > > > > Some of the issues... > > > > 1. The namespace that these features appear in [std::tr1 vs std] > > 2. Section numbers for test names [4.meta.rel.cpp vs > > 20.meta.rel.cpp] > > 3. Subtle differences between behavior of traits > > 4. Deprecated traits like add_reference [now > > add_lvalue_reference] > > > > I just want to make absolutely sure that I'm working with the same > > expectations as everyone else and that we are trying to > implement the > > c++0x draft features that were introduced in tr1. I'm > currently writing > > to the c++0x draft, but my tests use old section numbers > from the tr1 > > final, and everything I've written is currently in the std::tr1 > > namespace [using a macro _TR1]. > > IMO, we should target C++ 0x and forget TR1 even exists ;-) > That said, all C++ 0x code should be guarded with the same > macro until the next standard is released. Maybe something > like _RWSTD_NO_EXT_CXX_0X?
Agreed. TR1, after all, was published as a draft. In ISO/IEC DTR19768 (N1836), Section 1, Paragraph 2 says "Some of these components in this technical report may never be standardized, and other may be standardized in a substantially changed form." Also, we'll need some sort of configure option that defines (or undefines) the _RWSTD_NO_EXT_CXX_OX macro. Brad.
