00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #include <cstdlib>
00035 #include <clocale>
00036 #include <cstring>
00037 #include <cassert>
00038 #include <limits>
00039 #include <exception>
00040 #include <locale>
00041 #include <istream>
00042 #include <ostream>
00043
00044 namespace std
00045 {
00046
00047 template class moneypunct<char, false>;
00048 template class moneypunct<char, true>;
00049 template class moneypunct_byname<char, false>;
00050 template class moneypunct_byname<char, true>;
00051 template class money_get<char, istreambuf_iterator<char> >;
00052 template class money_put<char, ostreambuf_iterator<char> >;
00053
00054 #ifdef _GLIBCPP_USE_WCHAR_T
00055 template class moneypunct<wchar_t, false>;
00056 template class moneypunct<wchar_t, true>;
00057 template class moneypunct_byname<wchar_t, false>;
00058 template class moneypunct_byname<wchar_t, true>;
00059 template class money_get<wchar_t, istreambuf_iterator<wchar_t> >;
00060 template class money_put<wchar_t, ostreambuf_iterator<wchar_t> >;
00061 #endif
00062
00063
00064 template class numpunct<char>;
00065 template class numpunct_byname<char>;
00066 template class num_get<char, istreambuf_iterator<char> >;
00067 template class num_put<char, ostreambuf_iterator<char> >;
00068 template
00069 ostreambuf_iterator<char>
00070 num_put<char, ostreambuf_iterator<char> >::
00071 _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
00072 long) const;
00073
00074 template
00075 ostreambuf_iterator<char>
00076 num_put<char, ostreambuf_iterator<char> >::
00077 _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
00078 unsigned long) const;
00079
00080 #ifdef _GLIBCPP_USE_LONG_LONG
00081 template
00082 ostreambuf_iterator<char>
00083 num_put<char, ostreambuf_iterator<char> >::
00084 _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
00085 long long) const;
00086
00087 template
00088 ostreambuf_iterator<char>
00089 num_put<char, ostreambuf_iterator<char> >::
00090 _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
00091 unsigned long long) const;
00092 #endif
00093
00094 template
00095 ostreambuf_iterator<char>
00096 num_put<char, ostreambuf_iterator<char> >::
00097 _M_convert_float(ostreambuf_iterator<char>, ios_base&, char, char,
00098 double) const;
00099
00100 template
00101 ostreambuf_iterator<char>
00102 num_put<char, ostreambuf_iterator<char> >::
00103 _M_convert_float(ostreambuf_iterator<char>, ios_base&, char, char,
00104 long double) const;
00105
00106 #ifdef _GLIBCPP_USE_WCHAR_T
00107 template class numpunct<wchar_t>;
00108 template class numpunct_byname<wchar_t>;
00109 template class num_get<wchar_t, istreambuf_iterator<wchar_t> >;
00110 template class num_put<wchar_t, ostreambuf_iterator<wchar_t> >;
00111
00112 template
00113 ostreambuf_iterator<wchar_t>
00114 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00115 _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
00116 char, long) const;
00117
00118 template
00119 ostreambuf_iterator<wchar_t>
00120 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00121 _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
00122 char, unsigned long) const;
00123
00124 #ifdef _GLIBCPP_USE_LONG_LONG
00125 template
00126 ostreambuf_iterator<wchar_t>
00127 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00128 _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
00129 char, long long) const;
00130
00131 template
00132 ostreambuf_iterator<wchar_t>
00133 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00134 _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
00135 char, unsigned long long) const;
00136 #endif
00137
00138 template
00139 ostreambuf_iterator<wchar_t>
00140 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00141 _M_convert_float(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
00142 double) const;
00143
00144 template
00145 ostreambuf_iterator<wchar_t>
00146 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00147 _M_convert_float(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
00148 long double) const;
00149 #endif
00150
00151
00152 template class __timepunct<char>;
00153 template class time_put<char, ostreambuf_iterator<char> >;
00154 template class time_put_byname<char, ostreambuf_iterator<char> >;
00155 template class time_get<char, istreambuf_iterator<char> >;
00156 template class time_get_byname<char, istreambuf_iterator<char> >;
00157
00158 #ifdef _GLIBCPP_USE_WCHAR_T
00159 template class __timepunct<wchar_t>;
00160 template class time_put<wchar_t, ostreambuf_iterator<wchar_t> >;
00161 template class time_put_byname<wchar_t, ostreambuf_iterator<wchar_t> >;
00162 template class time_get<wchar_t, istreambuf_iterator<wchar_t> >;
00163 template class time_get_byname<wchar_t, istreambuf_iterator<wchar_t> >;
00164 #endif
00165
00166
00167 template class messages<char>;
00168 template class messages_byname<char>;
00169 #ifdef _GLIBCPP_USE_WCHAR_T
00170 template class messages<wchar_t>;
00171 template class messages_byname<wchar_t>;
00172 #endif
00173
00174
00175 inline template class __ctype_abstract_base<char>;
00176 template class ctype_byname<char>;
00177 #ifdef _GLIBCPP_USE_WCHAR_T
00178 inline template class __ctype_abstract_base<wchar_t>;
00179 template class ctype_byname<wchar_t>;
00180 #endif
00181
00182
00183 inline template class __codecvt_abstract_base<char, char, mbstate_t>;
00184 inline template class __codecvt_abstract_base<wchar_t, char, mbstate_t>;
00185 template class codecvt_byname<char, char, mbstate_t>;
00186 #ifdef _GLIBCPP_USE_WCHAR_T
00187 template class codecvt_byname<wchar_t, char, mbstate_t>;
00188 #endif
00189
00190
00191 template class collate<char>;
00192 template class collate_byname<char>;
00193 #ifdef _GLIBCPP_USE_WCHAR_T
00194 template class collate<wchar_t>;
00195 template class collate_byname<wchar_t>;
00196 #endif
00197
00198
00199
00200 template
00201 const codecvt<char, char, mbstate_t>&
00202 use_facet<codecvt<char, char, mbstate_t> >(const locale&);
00203
00204 template
00205 const collate<char>&
00206 use_facet<collate<char> >(const locale&);
00207
00208 template
00209 const numpunct<char>&
00210 use_facet<numpunct<char> >(const locale&);
00211
00212 template
00213 const num_put<char>&
00214 use_facet<num_put<char> >(const locale&);
00215
00216 template
00217 const num_get<char>&
00218 use_facet<num_get<char> >(const locale&);
00219
00220 template
00221 const moneypunct<char, true>&
00222 use_facet<moneypunct<char, true> >(const locale&);
00223
00224 template
00225 const moneypunct<char, false>&
00226 use_facet<moneypunct<char, false> >(const locale&);
00227
00228 template
00229 const money_put<char>&
00230 use_facet<money_put<char> >(const locale&);
00231
00232 template
00233 const money_get<char>&
00234 use_facet<money_get<char> >(const locale&);
00235
00236 template
00237 const __timepunct<char>&
00238 use_facet<__timepunct<char> >(const locale&);
00239
00240 template
00241 const time_put<char>&
00242 use_facet<time_put<char> >(const locale&);
00243
00244 template
00245 const time_get<char>&
00246 use_facet<time_get<char> >(const locale&);
00247
00248 template
00249 const messages<char>&
00250 use_facet<messages<char> >(const locale&);
00251
00252 #ifdef _GLIBCPP_USE_WCHAR_T
00253 template
00254 const codecvt<wchar_t, char, mbstate_t>&
00255 use_facet<codecvt<wchar_t, char, mbstate_t> >(locale const&);
00256
00257 template
00258 const collate<wchar_t>&
00259 use_facet<collate<wchar_t> >(const locale&);
00260
00261 template
00262 const numpunct<wchar_t>&
00263 use_facet<numpunct<wchar_t> >(const locale&);
00264
00265 template
00266 const num_put<wchar_t>&
00267 use_facet<num_put<wchar_t> >(const locale&);
00268
00269 template
00270 const num_get<wchar_t>&
00271 use_facet<num_get<wchar_t> >(const locale&);
00272
00273 template
00274 const moneypunct<wchar_t, true>&
00275 use_facet<moneypunct<wchar_t, true> >(const locale&);
00276
00277 template
00278 const moneypunct<wchar_t, false>&
00279 use_facet<moneypunct<wchar_t, false> >(const locale&);
00280
00281 template
00282 const money_put<wchar_t>&
00283 use_facet<money_put<wchar_t> >(const locale&);
00284
00285 template
00286 const money_get<wchar_t>&
00287 use_facet<money_get<wchar_t> >(const locale&);
00288
00289 template
00290 const __timepunct<wchar_t>&
00291 use_facet<__timepunct<wchar_t> >(const locale&);
00292
00293 template
00294 const time_put<wchar_t>&
00295 use_facet<time_put<wchar_t> >(const locale&);
00296
00297 template
00298 const time_get<wchar_t>&
00299 use_facet<time_get<wchar_t> >(const locale&);
00300
00301 template
00302 const messages<wchar_t>&
00303 use_facet<messages<wchar_t> >(const locale&);
00304 #endif
00305
00306
00307 template
00308 bool
00309 has_facet<ctype<char> >(const locale&);
00310
00311 template
00312 bool
00313 has_facet<codecvt<char, char, mbstate_t> >(const locale&);
00314
00315 template
00316 bool
00317 has_facet<collate<char> >(const locale&);
00318
00319 template
00320 bool
00321 has_facet<numpunct<char> >(const locale&);
00322
00323 template
00324 bool
00325 has_facet<num_put<char> >(const locale&);
00326
00327 template
00328 bool
00329 has_facet<num_get<char> >(const locale&);
00330
00331 template
00332 bool
00333 has_facet<moneypunct<char> >(const locale&);
00334
00335 template
00336 bool
00337 has_facet<money_put<char> >(const locale&);
00338
00339 template
00340 bool
00341 has_facet<money_get<char> >(const locale&);
00342
00343 template
00344 bool
00345 has_facet<__timepunct<char> >(const locale&);
00346
00347 template
00348 bool
00349 has_facet<time_put<char> >(const locale&);
00350
00351 template
00352 bool
00353 has_facet<time_get<char> >(const locale&);
00354
00355 template
00356 bool
00357 has_facet<messages<char> >(const locale&);
00358
00359 #ifdef _GLIBCPP_USE_WCHAR_T
00360 template
00361 bool
00362 has_facet<ctype<wchar_t> >(const locale&);
00363
00364 template
00365 bool
00366 has_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
00367
00368 template
00369 bool
00370 has_facet<collate<wchar_t> >(const locale&);
00371
00372 template
00373 bool
00374 has_facet<numpunct<wchar_t> >(const locale&);
00375
00376 template
00377 bool
00378 has_facet<num_put<wchar_t> >(const locale&);
00379
00380 template
00381 bool
00382 has_facet<num_get<wchar_t> >(const locale&);
00383
00384 template
00385 bool
00386 has_facet<moneypunct<wchar_t> >(const locale&);
00387
00388 template
00389 bool
00390 has_facet<money_put<wchar_t> >(const locale&);
00391
00392 template
00393 bool
00394 has_facet<money_get<wchar_t> >(const locale&);
00395
00396 template
00397 bool
00398 has_facet<__timepunct<wchar_t> >(const locale&);
00399
00400 template
00401 bool
00402 has_facet<time_put<wchar_t> >(const locale&);
00403
00404 template
00405 bool
00406 has_facet<time_get<wchar_t> >(const locale&);
00407
00408 template
00409 bool
00410 has_facet<messages<wchar_t> >(const locale&);
00411 #endif
00412
00413
00414 template
00415 char*
00416 __add_grouping<char>(char*, char, char const*, char const*,
00417 char const*, char const*);
00418
00419 template
00420 bool
00421 __verify_grouping<char>(const basic_string<char>&, basic_string<char>&);
00422
00423 template
00424 void
00425 __pad<char>(ios_base&, char, char*, const char *, streamsize,
00426 streamsize, const bool);
00427
00428 template
00429 void
00430 __pad<char, char_traits<char> >(ios_base&, char, char*, const char *,
00431 streamsize, streamsize, const bool);
00432
00433 #ifdef _GLIBCPP_USE_WCHAR_T
00434 template
00435 wchar_t*
00436 __add_grouping<wchar_t>(wchar_t*, wchar_t, char const*, char const*,
00437 wchar_t const*, wchar_t const*);
00438 template
00439 bool
00440 __verify_grouping<wchar_t>(const basic_string<wchar_t>&,
00441 basic_string<wchar_t>&);
00442
00443 template
00444 void
00445 __pad<wchar_t>(ios_base&, wchar_t, wchar_t*, const wchar_t*,
00446 streamsize, streamsize, const bool);
00447
00448 template
00449 void
00450 __pad<wchar_t, char_traits<wchar_t> >(ios_base&, wchar_t, wchar_t*,
00451 const wchar_t*, streamsize,
00452 streamsize, const bool);
00453 #endif // _GLIBCPP_USE_WCHAR_T
00454
00455 template
00456 int
00457 __convert_from_v(char*, const int, const char*, double, const __c_locale&, int);
00458
00459 template
00460 int
00461 __convert_from_v(char*, const int, const char*, long double, const __c_locale&, int);
00462
00463 template
00464 int
00465 __convert_from_v(char*, const int, const char*, long, const __c_locale&, int);
00466
00467 template
00468 int
00469 __convert_from_v(char*, const int, const char*, unsigned long,
00470 const __c_locale&, int);
00471
00472 template
00473 int
00474 __convert_from_v(char*, const int, const char*, long long, const __c_locale&, int);
00475
00476 template
00477 int
00478 __convert_from_v(char*, const int, const char*, unsigned long long,
00479 const __c_locale&, int);
00480 }