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 <locale>
00038
00039 namespace std
00040 {
00041
00042 template class moneypunct<char, false>;
00043 template class moneypunct<char, true>;
00044 template class moneypunct_byname<char, false>;
00045 template class moneypunct_byname<char, true>;
00046 template class money_get<char, istreambuf_iterator<char> >;
00047 template class money_put<char, ostreambuf_iterator<char> >;
00048
00049 #ifdef _GLIBCPP_USE_WCHAR_T
00050 template class moneypunct<wchar_t, false>;
00051 template class moneypunct<wchar_t, true>;
00052 template class moneypunct_byname<wchar_t, false>;
00053 template class moneypunct_byname<wchar_t, true>;
00054 template class money_get<wchar_t, istreambuf_iterator<wchar_t> >;
00055 template class money_put<wchar_t, ostreambuf_iterator<wchar_t> >;
00056 #endif
00057
00058
00059 template class numpunct<char>;
00060 template class numpunct_byname<char>;
00061 template class num_get<char, istreambuf_iterator<char> >;
00062 template class num_put<char, ostreambuf_iterator<char> >;
00063 template
00064 ostreambuf_iterator<char>
00065 num_put<char, ostreambuf_iterator<char> >::
00066 _M_convert_int(ostreambuf_iterator<char>, ios_base&, char,
00067 long) const;
00068
00069 template
00070 ostreambuf_iterator<char>
00071 num_put<char, ostreambuf_iterator<char> >::
00072 _M_convert_int(ostreambuf_iterator<char>, ios_base&, char,
00073 unsigned long) const;
00074
00075 #ifdef _GLIBCPP_USE_LONG_LONG
00076 template
00077 ostreambuf_iterator<char>
00078 num_put<char, ostreambuf_iterator<char> >::
00079 _M_convert_int(ostreambuf_iterator<char>, ios_base&, char,
00080 long long) const;
00081
00082 template
00083 ostreambuf_iterator<char>
00084 num_put<char, ostreambuf_iterator<char> >::
00085 _M_convert_int(ostreambuf_iterator<char>, ios_base&, char,
00086 unsigned long long) const;
00087 #endif
00088
00089 template
00090 ostreambuf_iterator<char>
00091 num_put<char, ostreambuf_iterator<char> >::
00092 _M_convert_float(ostreambuf_iterator<char>, ios_base&, char, char,
00093 double) const;
00094
00095 template
00096 ostreambuf_iterator<char>
00097 num_put<char, ostreambuf_iterator<char> >::
00098 _M_convert_float(ostreambuf_iterator<char>, ios_base&, char, char,
00099 long double) const;
00100
00101 #ifdef _GLIBCPP_USE_WCHAR_T
00102 template class numpunct<wchar_t>;
00103 template class numpunct_byname<wchar_t>;
00104 template class num_get<wchar_t, istreambuf_iterator<wchar_t> >;
00105 template class num_put<wchar_t, ostreambuf_iterator<wchar_t> >;
00106
00107 template
00108 ostreambuf_iterator<wchar_t>
00109 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00110 _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t,
00111 long) const;
00112
00113 template
00114 ostreambuf_iterator<wchar_t>
00115 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00116 _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t,
00117 unsigned long) const;
00118
00119 #ifdef _GLIBCPP_USE_LONG_LONG
00120 template
00121 ostreambuf_iterator<wchar_t>
00122 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00123 _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t,
00124 long long) const;
00125
00126 template
00127 ostreambuf_iterator<wchar_t>
00128 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00129 _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t,
00130 unsigned long long) const;
00131 #endif
00132
00133 template
00134 ostreambuf_iterator<wchar_t>
00135 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00136 _M_convert_float(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
00137 double) const;
00138
00139 template
00140 ostreambuf_iterator<wchar_t>
00141 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00142 _M_convert_float(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
00143 long double) const;
00144 #endif
00145
00146 #if 1
00147
00148 template
00149 ostreambuf_iterator<char>
00150 num_put<char, ostreambuf_iterator<char> >::
00151 _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
00152 long) const;
00153
00154 template
00155 ostreambuf_iterator<char>
00156 num_put<char, ostreambuf_iterator<char> >::
00157 _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
00158 unsigned long) const;
00159
00160 #ifdef _GLIBCPP_USE_LONG_LONG
00161 template
00162 ostreambuf_iterator<char>
00163 num_put<char, ostreambuf_iterator<char> >::
00164 _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
00165 long long) const;
00166
00167 template
00168 ostreambuf_iterator<char>
00169 num_put<char, ostreambuf_iterator<char> >::
00170 _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char,
00171 unsigned long long) const;
00172 #endif
00173
00174 #ifdef _GLIBCPP_USE_WCHAR_T
00175 template
00176 ostreambuf_iterator<wchar_t>
00177 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00178 _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
00179 char, long) const;
00180
00181 template
00182 ostreambuf_iterator<wchar_t>
00183 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00184 _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
00185 char, unsigned long) const;
00186
00187 #ifdef _GLIBCPP_USE_LONG_LONG
00188 template
00189 ostreambuf_iterator<wchar_t>
00190 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00191 _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
00192 char, long long) const;
00193
00194 template
00195 ostreambuf_iterator<wchar_t>
00196 num_put<wchar_t, ostreambuf_iterator<wchar_t> >::
00197 _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char,
00198 char, unsigned long long) const;
00199 #endif
00200 #endif
00201
00202 #endif
00203
00204
00205 template class __timepunct<char>;
00206 template class time_put<char, ostreambuf_iterator<char> >;
00207 template class time_put_byname<char, ostreambuf_iterator<char> >;
00208 template class time_get<char, istreambuf_iterator<char> >;
00209 template class time_get_byname<char, istreambuf_iterator<char> >;
00210
00211 #ifdef _GLIBCPP_USE_WCHAR_T
00212 template class __timepunct<wchar_t>;
00213 template class time_put<wchar_t, ostreambuf_iterator<wchar_t> >;
00214 template class time_put_byname<wchar_t, ostreambuf_iterator<wchar_t> >;
00215 template class time_get<wchar_t, istreambuf_iterator<wchar_t> >;
00216 template class time_get_byname<wchar_t, istreambuf_iterator<wchar_t> >;
00217 #endif
00218
00219
00220 template class messages<char>;
00221 template class messages_byname<char>;
00222 #ifdef _GLIBCPP_USE_WCHAR_T
00223 template class messages<wchar_t>;
00224 template class messages_byname<wchar_t>;
00225 #endif
00226
00227
00228 inline template class __ctype_abstract_base<char>;
00229 template class ctype_byname<char>;
00230 #ifdef _GLIBCPP_USE_WCHAR_T
00231 inline template class __ctype_abstract_base<wchar_t>;
00232 template class ctype_byname<wchar_t>;
00233 #endif
00234
00235
00236 inline template class __codecvt_abstract_base<char, char, mbstate_t>;
00237 template class codecvt_byname<char, char, mbstate_t>;
00238 #ifdef _GLIBCPP_USE_WCHAR_T
00239 inline template class __codecvt_abstract_base<wchar_t, char, mbstate_t>;
00240 template class codecvt_byname<wchar_t, char, mbstate_t>;
00241 #endif
00242
00243
00244 template class collate<char>;
00245 template class collate_byname<char>;
00246 #ifdef _GLIBCPP_USE_WCHAR_T
00247 template class collate<wchar_t>;
00248 template class collate_byname<wchar_t>;
00249 #endif
00250
00251
00252
00253 template
00254 const codecvt<char, char, mbstate_t>&
00255 use_facet<codecvt<char, char, mbstate_t> >(const locale&);
00256
00257 template
00258 const collate<char>&
00259 use_facet<collate<char> >(const locale&);
00260
00261 template
00262 const numpunct<char>&
00263 use_facet<numpunct<char> >(const locale&);
00264
00265 template
00266 const num_put<char>&
00267 use_facet<num_put<char> >(const locale&);
00268
00269 template
00270 const num_get<char>&
00271 use_facet<num_get<char> >(const locale&);
00272
00273 template
00274 const moneypunct<char, true>&
00275 use_facet<moneypunct<char, true> >(const locale&);
00276
00277 template
00278 const moneypunct<char, false>&
00279 use_facet<moneypunct<char, false> >(const locale&);
00280
00281 template
00282 const money_put<char>&
00283 use_facet<money_put<char> >(const locale&);
00284
00285 template
00286 const money_get<char>&
00287 use_facet<money_get<char> >(const locale&);
00288
00289 template
00290 const __timepunct<char>&
00291 use_facet<__timepunct<char> >(const locale&);
00292
00293 template
00294 const time_put<char>&
00295 use_facet<time_put<char> >(const locale&);
00296
00297 template
00298 const time_get<char>&
00299 use_facet<time_get<char> >(const locale&);
00300
00301 template
00302 const messages<char>&
00303 use_facet<messages<char> >(const locale&);
00304
00305 #ifdef _GLIBCPP_USE_WCHAR_T
00306 template
00307 const codecvt<wchar_t, char, mbstate_t>&
00308 use_facet<codecvt<wchar_t, char, mbstate_t> >(locale const&);
00309
00310 template
00311 const collate<wchar_t>&
00312 use_facet<collate<wchar_t> >(const locale&);
00313
00314 template
00315 const numpunct<wchar_t>&
00316 use_facet<numpunct<wchar_t> >(const locale&);
00317
00318 template
00319 const num_put<wchar_t>&
00320 use_facet<num_put<wchar_t> >(const locale&);
00321
00322 template
00323 const num_get<wchar_t>&
00324 use_facet<num_get<wchar_t> >(const locale&);
00325
00326 template
00327 const moneypunct<wchar_t, true>&
00328 use_facet<moneypunct<wchar_t, true> >(const locale&);
00329
00330 template
00331 const moneypunct<wchar_t, false>&
00332 use_facet<moneypunct<wchar_t, false> >(const locale&);
00333
00334 template
00335 const money_put<wchar_t>&
00336 use_facet<money_put<wchar_t> >(const locale&);
00337
00338 template
00339 const money_get<wchar_t>&
00340 use_facet<money_get<wchar_t> >(const locale&);
00341
00342 template
00343 const __timepunct<wchar_t>&
00344 use_facet<__timepunct<wchar_t> >(const locale&);
00345
00346 template
00347 const time_put<wchar_t>&
00348 use_facet<time_put<wchar_t> >(const locale&);
00349
00350 template
00351 const time_get<wchar_t>&
00352 use_facet<time_get<wchar_t> >(const locale&);
00353
00354 template
00355 const messages<wchar_t>&
00356 use_facet<messages<wchar_t> >(const locale&);
00357 #endif
00358
00359
00360 template
00361 bool
00362 has_facet<ctype<char> >(const locale&);
00363
00364 template
00365 bool
00366 has_facet<codecvt<char, char, mbstate_t> >(const locale&);
00367
00368 template
00369 bool
00370 has_facet<collate<char> >(const locale&);
00371
00372 template
00373 bool
00374 has_facet<numpunct<char> >(const locale&);
00375
00376 template
00377 bool
00378 has_facet<num_put<char> >(const locale&);
00379
00380 template
00381 bool
00382 has_facet<num_get<char> >(const locale&);
00383
00384 template
00385 bool
00386 has_facet<moneypunct<char> >(const locale&);
00387
00388 template
00389 bool
00390 has_facet<money_put<char> >(const locale&);
00391
00392 template
00393 bool
00394 has_facet<money_get<char> >(const locale&);
00395
00396 template
00397 bool
00398 has_facet<__timepunct<char> >(const locale&);
00399
00400 template
00401 bool
00402 has_facet<time_put<char> >(const locale&);
00403
00404 template
00405 bool
00406 has_facet<time_get<char> >(const locale&);
00407
00408 template
00409 bool
00410 has_facet<messages<char> >(const locale&);
00411
00412 #ifdef _GLIBCPP_USE_WCHAR_T
00413 template
00414 bool
00415 has_facet<ctype<wchar_t> >(const locale&);
00416
00417 template
00418 bool
00419 has_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
00420
00421 template
00422 bool
00423 has_facet<collate<wchar_t> >(const locale&);
00424
00425 template
00426 bool
00427 has_facet<numpunct<wchar_t> >(const locale&);
00428
00429 template
00430 bool
00431 has_facet<num_put<wchar_t> >(const locale&);
00432
00433 template
00434 bool
00435 has_facet<num_get<wchar_t> >(const locale&);
00436
00437 template
00438 bool
00439 has_facet<moneypunct<wchar_t> >(const locale&);
00440
00441 template
00442 bool
00443 has_facet<money_put<wchar_t> >(const locale&);
00444
00445 template
00446 bool
00447 has_facet<money_get<wchar_t> >(const locale&);
00448
00449 template
00450 bool
00451 has_facet<__timepunct<wchar_t> >(const locale&);
00452
00453 template
00454 bool
00455 has_facet<time_put<wchar_t> >(const locale&);
00456
00457 template
00458 bool
00459 has_facet<time_get<wchar_t> >(const locale&);
00460
00461 template
00462 bool
00463 has_facet<messages<wchar_t> >(const locale&);
00464 #endif
00465
00466
00467 template
00468 char*
00469 __add_grouping<char>(char*, char, char const*, char const*,
00470 char const*, char const*);
00471
00472 template
00473 bool
00474 __verify_grouping<char>(const basic_string<char>&, basic_string<char>&);
00475
00476 template class __pad<char, char_traits<char> >;
00477
00478 #ifdef _GLIBCPP_USE_WCHAR_T
00479 template
00480 wchar_t*
00481 __add_grouping<wchar_t>(wchar_t*, wchar_t, char const*, char const*,
00482 wchar_t const*, wchar_t const*);
00483 template
00484 bool
00485 __verify_grouping<wchar_t>(const basic_string<wchar_t>&,
00486 basic_string<wchar_t>&);
00487
00488 template class __pad<wchar_t, char_traits<wchar_t> >;
00489 #endif
00490
00491 template
00492 int
00493 __convert_from_v(char*, const int, const char*, double,
00494 const __c_locale&, int);
00495
00496 template
00497 int
00498 __convert_from_v(char*, const int, const char*, long double,
00499 const __c_locale&, int);
00500
00501 template
00502 int
00503 __convert_from_v(char*, const int, const char*, long,
00504 const __c_locale&, int);
00505
00506 template
00507 int
00508 __convert_from_v(char*, const int, const char*, unsigned long,
00509 const __c_locale&, int);
00510
00511 #ifdef _GLIBCPP_USE_LONG_LONG
00512 template
00513 int
00514 __convert_from_v(char*, const int, const char*, long long,
00515 const __c_locale&, int);
00516
00517 template
00518 int
00519 __convert_from_v(char*, const int, const char*, unsigned long long,
00520 const __c_locale&, int);
00521 #endif
00522
00523 template
00524 int
00525 __int_to_char(char*, const int, unsigned long, const char*,
00526 ios_base::fmtflags, bool);
00527
00528 #ifdef _GLIBCPP_USE_WCHAR_T
00529 template
00530 int
00531 __int_to_char(wchar_t*, const int, unsigned long, const wchar_t*,
00532 ios_base::fmtflags, bool);
00533 #endif
00534
00535 #ifdef _GLIBCPP_USE_LONG_LONG
00536 template
00537 int
00538 __int_to_char(char*, const int, unsigned long long, const char*,
00539 ios_base::fmtflags, bool);
00540
00541 #ifdef _GLIBCPP_USE_WCHAR_T
00542 template
00543 int
00544 __int_to_char(wchar_t*, const int, unsigned long long, const wchar_t*,
00545 ios_base::fmtflags, bool);
00546 #endif
00547 #endif
00548
00549 template<typename _CharT>
00550 void
00551 __locale_cache<_CharT>::_S_callback(ios_base::event __ev, ios_base& __io, int);
00552
00553 template class __locale_cache<char>;
00554 #ifdef _GLIBCPP_USE_WCHAR_T
00555 template class __locale_cache<wchar_t>;
00556 #endif
00557 }