19720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* 29720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * Copyright (c) 1999 39720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * Silicon Graphics Computer Systems, Inc. 49720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * 59720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * Copyright (c) 1999 69720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * Boris Fomitchev 79720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * 89720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * This material is provided "as is", with absolutely no warranty expressed 99720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * or implied. Any use is at your own risk. 109720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * 119720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * Permission to use or copy this software for any purpose is hereby granted 129720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * without fee, provided the above notices are retained on all copies. 139720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * Permission to modify the code and to distribute modified code is granted, 149720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * provided the above notices are retained, and a notice that the code was 159720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * modified is included with the above copyright notice. 169720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * 179720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block */ 189720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// WARNING: This is an internal header file, included by other C++ 199720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// standard library headers. You should not attempt to use this header 209720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// file directly. 219720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 229720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 239720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#ifndef _STLP_INTERNAL_MONETARY_H 249720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_INTERNAL_MONETARY_H 259720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#ifndef _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H 279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# include <stl/_ostreambuf_iterator.h> 289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 309720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#ifndef _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H 319720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# include <stl/_istreambuf_iterator.h> 329720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 339720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 34e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#ifndef _STLP_FACETS_FWD_H 35e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# include <stl/_facets_fwd.h> 36e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 37e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 389720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block_STLP_BEGIN_NAMESPACE 399720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 409720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockclass money_base { 419720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockpublic: 429720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block enum part {none, space, symbol, sign, value}; 439720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block struct pattern { 449720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block char field[4]; 459720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block }; 469720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block}; 479720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 489720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// moneypunct facets: forward declaration 499720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blocktemplate <class _charT, _STLP_DFL_NON_TYPE_PARAM(bool, _International, false) > class moneypunct {}; 509720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 519720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// money_get facets 529720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 539720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blocktemplate <class _CharT, class _InputIter> 549720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockclass money_get : public locale::facet { 559720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockpublic: 569720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef _CharT char_type; 579720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef _InputIter iter_type; 589720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> > string_type; 599720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 60e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott explicit money_get(size_t __refs = 0) : locale::facet(__refs) {} 619720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block iter_type get(iter_type __s, iter_type __end, bool __intl, 629720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block ios_base& __str, ios_base::iostate& __err, 639720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block _STLP_LONGEST_FLOAT_TYPE& __units) const 64e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott { return do_get(__s, __end, __intl, __str, __err, __units); } 659720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block iter_type get(iter_type __s, iter_type __end, bool __intl, 669720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block ios_base& __str, ios_base::iostate& __err, 679720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string_type& __digits) const 68e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott { return do_get(__s, __end, __intl, __str, __err, __digits); } 699720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 70e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott static locale::id id; 719720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 729720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockprotected: 739720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block ~money_get() {} 749720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual iter_type do_get(iter_type __s, iter_type __end, bool __intl, 759720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block ios_base& __str, ios_base::iostate& __err, 769720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block _STLP_LONGEST_FLOAT_TYPE& __units) const; 779720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual iter_type do_get(iter_type __s, iter_type __end, bool __intl, 789720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block ios_base& __str, ios_base::iostate& __err, 799720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string_type& __digits) const; 809720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block}; 819720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 829720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 839720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// moneypunct facets: definition of specializations 849720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 859720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block_STLP_TEMPLATE_NULL 869720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockclass _STLP_CLASS_DECLSPEC moneypunct<char, true> : public locale::facet, public money_base { 879720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockpublic: 889720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef char char_type; 899720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef string string_type; 909720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block explicit moneypunct _STLP_PSPEC2(char, true) (size_t __refs = 0); 919720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 929720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block char decimal_point() const { return do_decimal_point(); } 939720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block char thousands_sep() const { return do_thousands_sep(); } 949720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string grouping() const { return do_grouping(); } 959720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string_type curr_symbol() const { return do_curr_symbol(); } 969720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string_type positive_sign() const { return do_positive_sign(); } 979720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string_type negative_sign() const { return do_negative_sign(); } 989720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block int frac_digits() const { return do_frac_digits(); } 999720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern pos_format() const { return do_pos_format(); } 1009720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern neg_format() const { return do_neg_format(); } 1019720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 102e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott static _STLP_STATIC_DECLSPEC locale::id id; 103e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott _STLP_STATIC_CONSTANT(bool, intl = true); 1049720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1059720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockprotected: 1069720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern _M_pos_format; 1079720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern _M_neg_format; 1089720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1099720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block ~moneypunct _STLP_PSPEC2(char, true) (); 1109720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1119720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual char do_decimal_point() const; 1129720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual char do_thousands_sep() const; 1139720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string do_grouping() const; 1149720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1159720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string do_curr_symbol() const; 1169720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1179720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string do_positive_sign() const; 1189720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string do_negative_sign() const; 1199720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual int do_frac_digits() const; 1209720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual pattern do_pos_format() const; 1219720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual pattern do_neg_format() const; 1229720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block}; 1239720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1249720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block_STLP_TEMPLATE_NULL 125e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottclass _STLP_CLASS_DECLSPEC moneypunct<char, false> : public locale::facet, public money_base { 1269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockpublic: 1279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef char char_type; 1289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef string string_type; 1299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1309720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block explicit moneypunct _STLP_PSPEC2(char, false) (size_t __refs = 0); 1319720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1329720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block char decimal_point() const { return do_decimal_point(); } 1339720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block char thousands_sep() const { return do_thousands_sep(); } 1349720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string grouping() const { return do_grouping(); } 1359720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string_type curr_symbol() const { return do_curr_symbol(); } 1369720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string_type positive_sign() const { return do_positive_sign(); } 1379720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string_type negative_sign() const { return do_negative_sign(); } 1389720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block int frac_digits() const { return do_frac_digits(); } 1399720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern pos_format() const { return do_pos_format(); } 1409720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern neg_format() const { return do_neg_format(); } 1419720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 142e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott static _STLP_STATIC_DECLSPEC locale::id id; 143e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott _STLP_STATIC_CONSTANT(bool, intl = false); 1449720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1459720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockprotected: 1469720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern _M_pos_format; 1479720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern _M_neg_format; 1489720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1499720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block ~moneypunct _STLP_PSPEC2(char, false) (); 1509720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1519720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual char do_decimal_point() const; 1529720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual char do_thousands_sep() const; 1539720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string do_grouping() const; 1549720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1559720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string do_curr_symbol() const; 1569720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1579720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string do_positive_sign() const; 1589720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string do_negative_sign() const; 1599720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual int do_frac_digits() const; 1609720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual pattern do_pos_format() const; 1619720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual pattern do_neg_format() const; 1629720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block}; 1639720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1649720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 165e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#ifndef _STLP_NO_WCHAR_T 1669720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1679720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block_STLP_TEMPLATE_NULL 168e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottclass _STLP_CLASS_DECLSPEC moneypunct<wchar_t, true> : public locale::facet, public money_base { 1699720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockpublic: 1709720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef wchar_t char_type; 1719720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef wstring string_type; 1729720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block explicit moneypunct _STLP_PSPEC2(wchar_t, true) (size_t __refs = 0); 1739720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block wchar_t decimal_point() const { return do_decimal_point(); } 1749720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block wchar_t thousands_sep() const { return do_thousands_sep(); } 1759720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string grouping() const { return do_grouping(); } 1769720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string_type curr_symbol() const { return do_curr_symbol(); } 1779720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string_type positive_sign() const { return do_positive_sign(); } 1789720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string_type negative_sign() const { return do_negative_sign(); } 1799720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block int frac_digits() const { return do_frac_digits(); } 1809720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern pos_format() const { return do_pos_format(); } 1819720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern neg_format() const { return do_neg_format(); } 1829720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 183e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott static _STLP_STATIC_DECLSPEC locale::id id; 184e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott _STLP_STATIC_CONSTANT(bool, intl = true); 1859720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1869720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockprotected: 1879720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern _M_pos_format; 1889720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern _M_neg_format; 1899720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1909720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block ~moneypunct _STLP_PSPEC2(wchar_t, true) (); 1919720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1929720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual wchar_t do_decimal_point() const; 1939720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual wchar_t do_thousands_sep() const; 1949720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string do_grouping() const; 1959720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1969720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_curr_symbol() const; 1979720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1989720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_positive_sign() const; 1999720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_negative_sign() const; 2009720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual int do_frac_digits() const; 2019720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual pattern do_pos_format() const; 2029720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual pattern do_neg_format() const; 2039720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block}; 2049720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2059720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2069720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block_STLP_TEMPLATE_NULL 207e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottclass _STLP_CLASS_DECLSPEC moneypunct<wchar_t, false> : public locale::facet, public money_base { 2089720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockpublic: 2099720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef wchar_t char_type; 2109720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef wstring string_type; 2119720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block explicit moneypunct _STLP_PSPEC2(wchar_t, false) (size_t __refs = 0); 2129720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block wchar_t decimal_point() const { return do_decimal_point(); } 2139720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block wchar_t thousands_sep() const { return do_thousands_sep(); } 2149720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string grouping() const { return do_grouping(); } 2159720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string_type curr_symbol() const { return do_curr_symbol(); } 2169720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string_type positive_sign() const { return do_positive_sign(); } 2179720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block string_type negative_sign() const { return do_negative_sign(); } 2189720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block int frac_digits() const { return do_frac_digits(); } 2199720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern pos_format() const { return do_pos_format(); } 2209720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern neg_format() const { return do_neg_format(); } 2219720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 222e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott static _STLP_STATIC_DECLSPEC locale::id id; 223e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott _STLP_STATIC_CONSTANT(bool, intl = false); 2249720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2259720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockprotected: 2269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern _M_pos_format; 2279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block pattern _M_neg_format; 2289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block ~moneypunct _STLP_PSPEC2(wchar_t, false) (); 2309720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2319720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual wchar_t do_decimal_point() const; 2329720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual wchar_t do_thousands_sep() const; 2339720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string do_grouping() const; 2349720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2359720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_curr_symbol() const; 2369720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2379720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_positive_sign() const; 2389720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_negative_sign() const; 2399720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual int do_frac_digits() const; 2409720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual pattern do_pos_format() const; 2419720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual pattern do_neg_format() const; 2429720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block}; 2439720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2449720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 2459720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2469720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blocktemplate <class _charT, _STLP_DFL_NON_TYPE_PARAM(bool , _International , false) > class moneypunct_byname {}; 2479720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2489720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block_STLP_TEMPLATE_NULL 2499720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockclass _STLP_CLASS_DECLSPEC moneypunct_byname<char, true> : public moneypunct<char, true> { 250e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott friend class _Locale_impl; 2519720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockpublic: 2529720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef money_base::pattern pattern; 2539720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef char char_type; 2549720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef string string_type; 2559720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 256e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott explicit moneypunct_byname _STLP_PSPEC2(char, true) (const char * __name, size_t __refs = 0); 2579720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2589720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockprotected: 2599720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block ~moneypunct_byname _STLP_PSPEC2(char, true) (); 2609720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual char do_decimal_point() const; 2619720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual char do_thousands_sep() const; 2629720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string do_grouping() const; 2639720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2649720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_curr_symbol() const; 2659720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2669720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_positive_sign() const; 2679720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_negative_sign() const; 2689720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual int do_frac_digits() const; 2699720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2709720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockprivate: 271e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott moneypunct_byname _STLP_PSPEC2(char, true) (_Locale_monetary *__monetary); 272e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 2739720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef moneypunct_byname<char, true> _Self; 2749720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block //explicitely defined as private to avoid warnings: 2759720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block moneypunct_byname(_Self const&); 2769720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block _Self& operator = (_Self const&); 277e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 278e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott _Locale_monetary* _M_monetary; 2799720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block}; 2809720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2819720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block_STLP_TEMPLATE_NULL 282e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottclass _STLP_CLASS_DECLSPEC moneypunct_byname<char, false> : public moneypunct<char, false> { 283e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott friend class _Locale_impl; 2849720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockpublic: 2859720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef money_base::pattern pattern; 2869720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef char char_type; 2879720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef string string_type; 2889720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 289e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott explicit moneypunct_byname _STLP_PSPEC2(char, false) (const char * __name, size_t __refs = 0); 2909720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2919720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockprotected: 2929720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block ~moneypunct_byname _STLP_PSPEC2(char, false) (); 2939720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual char do_decimal_point() const; 2949720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual char do_thousands_sep() const; 2959720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string do_grouping() const; 2969720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2979720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_curr_symbol() const; 2989720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 2999720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_positive_sign() const; 3009720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_negative_sign() const; 3019720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual int do_frac_digits() const; 3029720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 3039720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockprivate: 304e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott moneypunct_byname _STLP_PSPEC2(char, false) (_Locale_monetary *__monetary); 305e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 3069720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef moneypunct_byname<char, false> _Self; 3079720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block //explicitely defined as private to avoid warnings: 3089720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block moneypunct_byname(_Self const&); 3099720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block _Self& operator = (_Self const&); 310e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 311e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott _Locale_monetary* _M_monetary; 3129720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block}; 3139720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 3149720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if !defined (_STLP_NO_WCHAR_T) 3159720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block_STLP_TEMPLATE_NULL 316e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottclass _STLP_CLASS_DECLSPEC moneypunct_byname<wchar_t, true> : public moneypunct<wchar_t, true> { 317e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott friend class _Locale_impl; 3189720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockpublic: 3199720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef money_base::pattern pattern; 3209720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef wchar_t char_type; 3219720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef wstring string_type; 3229720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 323e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott explicit moneypunct_byname _STLP_PSPEC2(wchar_t, true) (const char * __name, size_t __refs = 0); 3249720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 3259720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockprotected: 3269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block ~moneypunct_byname _STLP_PSPEC2(wchar_t, true) (); 3279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual wchar_t do_decimal_point() const; 3289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual wchar_t do_thousands_sep() const; 3299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string do_grouping() const; 3309720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 3319720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_curr_symbol() const; 3329720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 3339720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_positive_sign() const; 3349720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_negative_sign() const; 3359720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual int do_frac_digits() const; 3369720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 3379720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockprivate: 338e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott moneypunct_byname _STLP_PSPEC2(wchar_t, true) (_Locale_monetary *__monetary); 339e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 3409720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef moneypunct_byname<wchar_t, true> _Self; 3419720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block //explicitely defined as private to avoid warnings: 3429720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block moneypunct_byname(_Self const&); 3439720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block _Self& operator = (_Self const&); 344e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 345e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott _Locale_monetary* _M_monetary; 3469720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block}; 3479720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 3489720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block_STLP_TEMPLATE_NULL 349e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottclass _STLP_CLASS_DECLSPEC moneypunct_byname<wchar_t, false> : public moneypunct<wchar_t, false> { 350e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott friend class _Locale_impl; 3519720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockpublic: 3529720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef money_base::pattern pattern; 3539720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef wchar_t char_type; 3549720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef wstring string_type; 3559720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 356e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott explicit moneypunct_byname _STLP_PSPEC2(wchar_t, false) (const char * __name, size_t __refs = 0); 3579720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 3589720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockprotected: 3599720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block ~moneypunct_byname _STLP_PSPEC2(wchar_t, false) (); 3609720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual wchar_t do_decimal_point() const; 3619720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual wchar_t do_thousands_sep() const; 3629720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string do_grouping() const; 3639720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 3649720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_curr_symbol() const; 3659720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 3669720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_positive_sign() const; 3679720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual string_type do_negative_sign() const; 3689720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual int do_frac_digits() const; 3699720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 3709720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockprivate: 371e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott moneypunct_byname _STLP_PSPEC2(wchar_t, false) (_Locale_monetary *__monetary); 372e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 3739720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef moneypunct_byname<wchar_t, false> _Self; 3749720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block //explicitely defined as private to avoid warnings: 3759720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block moneypunct_byname(_Self const&); 3769720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block _Self& operator = (_Self const&); 377e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 378e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott _Locale_monetary* _M_monetary; 3799720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block}; 3809720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 3819720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 3829720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block//===== methods ====== 3839720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 3849720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 3859720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// money_put facets 3869720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 3879720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blocktemplate <class _CharT, class _OutputIter> 3889720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockclass money_put : public locale::facet { 3899720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockpublic: 3909720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef _CharT char_type; 3919720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef _OutputIter iter_type; 3929720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block typedef basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> > string_type; 3939720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 394e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott explicit money_put(size_t __refs = 0) : locale::facet(__refs) {} 3959720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block iter_type put(iter_type __s, bool __intl, ios_base& __str, 3969720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block char_type __fill, _STLP_LONGEST_FLOAT_TYPE __units) const 3979720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block { return do_put(__s, __intl, __str, __fill, __units); } 3989720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block iter_type put(iter_type __s, bool __intl, ios_base& __str, 3999720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block char_type __fill, 4009720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block const string_type& __digits) const 4019720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block { return do_put(__s, __intl, __str, __fill, __digits); } 4029720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 403e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott static locale::id id; 4049720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 4059720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockprotected: 4069720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block ~money_put() {} 4079720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual iter_type do_put(iter_type __s, bool __intl, ios_base& __str, 4089720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block char_type __fill, _STLP_LONGEST_FLOAT_TYPE __units) const; 4099720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block virtual iter_type do_put(iter_type __s, bool __intl, ios_base& __str, 4109720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block char_type __fill, 4119720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block const string_type& __digits) const; 4129720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block}; 4139720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 414e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if defined (_STLP_USE_TEMPLATE_EXPORT) 4159720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block_STLP_EXPORT_TEMPLATE_CLASS money_get<char, istreambuf_iterator<char, char_traits<char> > >; 4169720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block_STLP_EXPORT_TEMPLATE_CLASS money_put<char, ostreambuf_iterator<char, char_traits<char> > >; 4179720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if ! defined (_STLP_NO_WCHAR_T) 4189720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block_STLP_EXPORT_TEMPLATE_CLASS money_get<wchar_t, istreambuf_iterator<wchar_t, char_traits<wchar_t> > >; 4199720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block_STLP_EXPORT_TEMPLATE_CLASS money_put<wchar_t, ostreambuf_iterator<wchar_t, char_traits<wchar_t> > >; 4209720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 421e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 4229720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 4239720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block_STLP_END_NAMESPACE 4249720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 4259720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) 4269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# include <stl/_monetary.c> 4279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 4289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 4299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif /* _STLP_INTERNAL_MONETARY_H */ 4309720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 4319720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Local Variables: 4329720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// mode:C++ 4339720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// End: 4349720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 4359720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 436