This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

functional, split tr1 and c++0x impl's ?


I'm went to go update <functional> to current WD and I'm finding I'm
writing a lot of #ifdef's. For free func's, C++0x tends to use
template<Res(Args)> whereas tr1 uses template<F> Some of the backend
helper code might be able to remain common for both but even still
there's the _GLIBCXX_TR1 hackery to select the proper namespace for
type traits, it also uses __gnu_cxx::__enable_if where std::enable_if
is avail for c++0x etc etc.

What I recommend is at least splitting out the end-user interfaces
into tr1 and c++0x stand-alone impl's and keep the backend code common
between the two and just deal with tr1/c++0x differences there. Or we
could just bite the bullet now and split everything because when
Lambda's are finished, I'm pretty sure the c++0x impl will change
significantly (correct me if I'm wrong).

Thoughts?

Chris


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]