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]

Re: [Patch] libstdc++/28080, more



the below continues the work: besides the straightforward tr1/random and tr1/memory bits (usual idea of avoiding the whole, big <algorithm>, when possible), I'm also splitting out from <tr1/functional> the hash functions to functional_hash.h: this allows to include only the latter in tr1/unordered_map and unordered_set and the compilation of those headers alone becomes about 3 times faster, because we avoid all the preprocessor metaprogramming (the preprocessed headers are also less than half the size).

I'd noticed this tr1/functional issues when doing the C++0x headers. ... this leads to a recursive <string> include.


Hoping for variadic templates to go in mainline relatively soon (after Oxford?), the latter changes, very safe anyway, seem particularly important for the 4_2-branch, and I mean to commit there too.

Man, I'm getting quite peeved about the delay in variadic templates going in. This is really important, interface-wise for C++0x. WTF!!!! Tis been two months, that patch is rotting on gcc-patches.


2007-02-20 Paolo Carlini <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/tr1/functional: Split out hash bits to...
	* include/tr1/functional_hash.h: ...here.
	* include/Makefile.am: Add.
	* include/tr1/unordered_set: Include the latter instead.
	* include/tr1/unordered_map: Likewise.
	* include/tr1/random: Do not include the whole <algorithm>,
	stl_algobase.h is enough.
	* include/tr1/memory: Likewise.
	* include/Makefile.in: Regenerate.

* include/tr1/utility (get(std::pair<>&), get(const std::pair<>&)):

Please, if you could, check this in ASAP.


best,
benjamin


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