]> git.ipfire.org Git - thirdparty/gcc.git/commit
locale_facets.h (class money_base): Add { _S_minus, _S_zero, _S_end } enum, _S_atoms.
authorPaolo Carlini <pcarlini@suse.de>
Sat, 21 Feb 2004 09:26:35 +0000 (09:26 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Sat, 21 Feb 2004 09:26:35 +0000 (09:26 +0000)
commitfe932e504bb0efaaa874d1caffdc25e4d34c5484
tree658b1a60aa9e4e6e7272da508ab2dff3e4f6d74b
parent8bb418a3d5c47572c382c7b8f195526247c02a1f
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
17 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/config/locale/generic/monetary_members.cc
libstdc++-v3/config/locale/generic/numeric_members.cc
libstdc++-v3/config/locale/gnu/monetary_members.cc
libstdc++-v3/config/locale/gnu/numeric_members.cc
libstdc++-v3/include/bits/locale_facets.h
libstdc++-v3/include/bits/locale_facets.tcc
libstdc++-v3/src/globals_locale.cc
libstdc++-v3/src/locale-inst.cc
libstdc++-v3/src/locale_facets.cc
libstdc++-v3/src/locale_init.cc
libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc
libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc
libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc
libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc
libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc
libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc