C++0x support for libstdc++-v3?

Douglas Gregor doug.gregor@gmail.com
Tue Nov 21 17:36:00 GMT 2006


Mainline GCC now has the -std=c++0x and -std=gnu++0x flags, which enable
experimental C++0x features. I suggest that when one of these flags are
provided, libstdc++ also provide the C++0x library features.

The biggest addition to the C++0x standard library is TR1. Everything
from TR1 except the special functions has been brought into the C++0x
standard library. The good news, of course, is that we already have much
of this functionality implemented.

I suggest that we shuffle the headers so that the C++0x headers that
involve TR1 components (like <tuple> and <functional>) include the TR1
bits, then make them available in namespace "std", while the TR1 headers
make them available in namespace std::tr1. Most likely, we'll need to
move all of the TR1 bits into a new namespace (std::__tr1), then have
strong using pull them into the appropriate namespace.

Beyond TR1, there are some additions to the C++0x standard library...
but not very many. Someone would need to look through the editor's
reports and the latest working drafts to find those changes and
implement them. They would only be available when
__GXX_EXPERIMENTAL_CPP0X__ is defined.

Comments? Volunteers?

	Cheers,
	Doug





More information about the Libstdc++ mailing list