gcc/libstdc++-v3/config/locale/generic
Paolo Carlini fe932e504b locale_facets.h (class money_base): Add { _S_minus, _S_zero, _S_end } enum, _S_atoms.
2004-02-21  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (class money_base): Add { _S_minus,
	_S_zero, _S_end } enum, _S_atoms.
	(struct __moneypunct_cache<>): Parameterize on _Intl too; add
	_M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
	_M_negative_sign_size, _M_atoms; tweak constructor consistently.
	(__moneypunct_cache<>::~__moneypunct_cache): Update.
	(__moneypunct_cache<>::_M_cache): Fill the cache.
	(class moneypunct): Tweak __cache_type typedef.
	(class money_put): Inherit from money_base too; tweak declaration
	of _M_insert, now parameterized on _Intl.
	* include/bits/locale_facets.tcc
	(struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
	(money_put<>::_M_insert): Update definition to use the cache;
	call reserve on __res to avoid multiple reallocations.
	(money_put<>::do_put(long double),
	money_put<>::do_put(const string_type&): Update calls of _M_insert.
	* config/locale/generic/monetary_members.cc
	(moneypunct<char, true>::_M_initialize_moneypunct,
	moneypunct<char, false>::_M_initialize_moneypunct,
	moneypunct<wchar_t, true>::_M_initialize_moneypunct,
	moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
	* config/locale/gnu/monetary_members.cc: Likewise.
	* config/locale/gnu/monetary_members.cc
	(moneypunct<wchar_t, true>::~moneypunct(),
	moneypunct<wchar_t, false>::~moneypunct()): Likewise.
	* src/globals_locale.cc: Tweak fake_money_cache_c.
	* src/locale-inst.cc: Add instantiations for
	money_put::_M_insert<false> and money_put::_M_insert<true> and
	__moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
	* src/locale_facets.cc: Define money_base::_S_atoms.
	* src/locale_init.cc: Update placement new of
	__moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
	__moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.

	* config/locale/generic/numeric_members.cc: Clean up.
	* config/locale/gnu/numeric_members.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/1.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/2.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/3.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.

From-SVN: r78216
2004-02-21 09:26:35 +00:00
..
c++locale_internal.h c++locale_internal.h: New header. 2002-09-05 09:46:17 +02:00
c_locale.cc c_locale.cc: Fix throw messages to use the __N marker. 2004-01-27 00:49:03 +00:00
c_locale.h c_locale.h: Change ::malloc() to new char[]. 2004-01-30 03:43:00 +00:00
codecvt_members.cc codecvt_members.cc (do_out): If we can upper bound the total number of external chars to something smaller... 2003-11-19 11:38:40 +00:00
codecvt_specializations.h
collate_members.cc Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
ctype_members.cc re PR libstdc++/11723 (ctype<wchar_t>::do_is(mask, wchar_t) is slow) 2003-12-16 11:00:52 +00:00
messages_members.cc Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
messages_members.h locale_facets.h: Correct byname facets for "C" locale. 2003-10-22 18:58:35 +00:00
monetary_members.cc locale_facets.h (class money_base): Add { _S_minus, _S_zero, _S_end } enum, _S_atoms. 2004-02-21 09:26:35 +00:00
numeric_members.cc locale_facets.h (class money_base): Add { _S_minus, _S_zero, _S_end } enum, _S_atoms. 2004-02-21 09:26:35 +00:00
time_members.cc linker-map.gnu: Add __moneypunct_cache, __timepunct_cache. 2003-07-18 02:27:16 +00:00
time_members.h locale_classes.h (locale::facet::_S_get_c_name): Add. 2003-10-02 23:06:13 +00:00