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] More facets rearrangements



this one is only partially about size of the headers (~ 10 KB off <iostream>) and mostly about consistency and correctness: it adds a locale_classes.tcc hosting the out of line functions of class locale; moves collate to the locale_classes headers, to support instantiating locale::operator() also when locale is not explicitely mentioned by the user (*); changes locale_facets to not include <bits/codecvt.h>, instead in fstream, where it's used, and in locale_facets_nonio (which finally hosts *only* things not having to do directly with iostreams).

2007-04-24 Paolo Carlini <pcarlini@suse.de>

	* include/bits/locale_facets.h (class collate, class collate_byname):
	Move...
	* include/bits/locale_classes.h: ... here.
	* include/bits/locale_facets.tcc (locale::combine, locale::operator(),
	has_facet, use_facet, collate::_M_compare, collate::_M_transform,
	collate::do_compare, collate::do_transform, collate::do_hash): Move...
	* include/bits/locale_classes.tcc: ... here, new.

Since collate is actually a facet, shouldn't you be moving it to locale_facets_nonio.h instead? Then locale_facets.h will be all the facets for io, and locale_facets_nonio.h will be the rest? Or are you going to do more of a breakdown than that? Do you need locale_facets_io, locale_facets, and locale_facets_nonio?


The rest of the moves make sense to me though (ie has_locale/use_locale and the locale:: members.)

I'm not quite sure where you are going though, or maybe I'm not clear on the dependencies, so maybe I'm not getting this. Any chance you could elaborate?

-benjamin


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