locale-inst.cc

00001 // Locale support -*- C++ -*- 00002 00003 // Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 00004 // Free Software Foundation, Inc. 00005 // 00006 // This file is part of the GNU ISO C++ Library. This library is free 00007 // software; you can redistribute it and/or modify it under the 00008 // terms of the GNU General Public License as published by the 00009 // Free Software Foundation; either version 2, or (at your option) 00010 // any later version. 00011 00012 // This library is distributed in the hope that it will be useful, 00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 // GNU General Public License for more details. 00016 00017 // You should have received a copy of the GNU General Public License along 00018 // with this library; see the file COPYING. If not, write to the Free 00019 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, 00020 // USA. 00021 00022 // As a special exception, you may use this file as part of a free software 00023 // library without restriction. Specifically, if other files instantiate 00024 // templates or use macros or inline functions from this file, or you compile 00025 // this file and link it with other files to produce an executable, this 00026 // file does not by itself cause the resulting executable to be covered by 00027 // the GNU General Public License. This exception does not however 00028 // invalidate any other reasons why the executable file might be covered by 00029 // the GNU General Public License. 00030 00031 // 00032 // ISO C++ 14882: 22.1 Locales 00033 // 00034 00035 #include <locale> 00036 00037 // Instantiation configuration. 00038 #ifndef C 00039 # define C char 00040 #endif 00041 00042 namespace std 00043 { 00044 // moneypunct, money_get, and money_put 00045 template class moneypunct<C, false>; 00046 template class moneypunct<C, true>; 00047 template struct __moneypunct_cache<C, false>; 00048 template struct __moneypunct_cache<C, true>; 00049 template class moneypunct_byname<C, false>; 00050 template class moneypunct_byname<C, true>; 00051 template class money_get<C, istreambuf_iterator<C> >; 00052 template class money_put<C, ostreambuf_iterator<C> >; 00053 template 00054 istreambuf_iterator<C> 00055 money_get<C, istreambuf_iterator<C> >:: 00056 _M_extract<true>(istreambuf_iterator<C>, istreambuf_iterator<C>, 00057 ios_base&, ios_base::iostate&, string&) const; 00058 00059 template 00060 istreambuf_iterator<C> 00061 money_get<C, istreambuf_iterator<C> >:: 00062 _M_extract<false>(istreambuf_iterator<C>, istreambuf_iterator<C>, 00063 ios_base&, ios_base::iostate&, string&) const; 00064 00065 template 00066 ostreambuf_iterator<C> 00067 money_put<C, ostreambuf_iterator<C> >:: 00068 _M_insert<true>(ostreambuf_iterator<C>, ios_base&, C, 00069 const string_type&) const; 00070 00071 template 00072 ostreambuf_iterator<C> 00073 money_put<C, ostreambuf_iterator<C> >:: 00074 _M_insert<false>(ostreambuf_iterator<C>, ios_base&, C, 00075 const string_type&) const; 00076 00077 // numpunct, numpunct_byname, num_get, and num_put 00078 template class numpunct<C>; 00079 template struct __numpunct_cache<C>; 00080 template class numpunct_byname<C>; 00081 template class num_get<C, istreambuf_iterator<C> >; 00082 template class num_put<C, ostreambuf_iterator<C> >; 00083 template 00084 istreambuf_iterator<C> 00085 num_get<C, istreambuf_iterator<C> >:: 00086 _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>, 00087 ios_base&, ios_base::iostate&, 00088 long&) const; 00089 00090 template 00091 istreambuf_iterator<C> 00092 num_get<C, istreambuf_iterator<C> >:: 00093 _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>, 00094 ios_base&, ios_base::iostate&, 00095 unsigned short&) const; 00096 00097 template 00098 istreambuf_iterator<C> 00099 num_get<C, istreambuf_iterator<C> >:: 00100 _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>, 00101 ios_base&, ios_base::iostate&, 00102 unsigned int&) const; 00103 00104 template 00105 istreambuf_iterator<C> 00106 num_get<C, istreambuf_iterator<C> >:: 00107 _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>, 00108 ios_base&, ios_base::iostate&, 00109 unsigned long&) const; 00110 00111 #ifdef _GLIBCXX_USE_LONG_LONG 00112 template 00113 istreambuf_iterator<C> 00114 num_get<C, istreambuf_iterator<C> >:: 00115 _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>, 00116 ios_base&, ios_base::iostate&, 00117 long long&) const; 00118 00119 template 00120 istreambuf_iterator<C> 00121 num_get<C, istreambuf_iterator<C> >:: 00122 _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>, 00123 ios_base&, ios_base::iostate&, 00124 unsigned long long&) const; 00125 #endif 00126 00127 template 00128 ostreambuf_iterator<C> 00129 num_put<C, ostreambuf_iterator<C> >:: 00130 _M_insert_int(ostreambuf_iterator<C>, ios_base&, C, 00131 long) const; 00132 00133 template 00134 ostreambuf_iterator<C> 00135 num_put<C, ostreambuf_iterator<C> >:: 00136 _M_insert_int(ostreambuf_iterator<C>, ios_base&, C, 00137 unsigned long) const; 00138 00139 #ifdef _GLIBCXX_USE_LONG_LONG 00140 template 00141 ostreambuf_iterator<C> 00142 num_put<C, ostreambuf_iterator<C> >:: 00143 _M_insert_int(ostreambuf_iterator<C>, ios_base&, C, 00144 long long) const; 00145 00146 template 00147 ostreambuf_iterator<C> 00148 num_put<C, ostreambuf_iterator<C> >:: 00149 _M_insert_int(ostreambuf_iterator<C>, ios_base&, C, 00150 unsigned long long) const; 00151 #endif 00152 00153 template 00154 ostreambuf_iterator<C> 00155 num_put<C, ostreambuf_iterator<C> >:: 00156 _M_insert_float(ostreambuf_iterator<C>, ios_base&, C, char, 00157 double) const; 00158 00159 template 00160 ostreambuf_iterator<C> 00161 num_put<C, ostreambuf_iterator<C> >:: 00162 _M_insert_float(ostreambuf_iterator<C>, ios_base&, C, char, 00163 long double) const; 00164 00165 // time_get and time_put 00166 template class __timepunct<C>; 00167 template struct __timepunct_cache<C>; 00168 template class time_put<C, ostreambuf_iterator<C> >; 00169 template class time_put_byname<C, ostreambuf_iterator<C> >; 00170 template class time_get<C, istreambuf_iterator<C> >; 00171 template class time_get_byname<C, istreambuf_iterator<C> >; 00172 00173 // messages 00174 template class messages<C>; 00175 template class messages_byname<C>; 00176 00177 // ctype 00178 inline template class __ctype_abstract_base<C>; 00179 template class ctype_byname<C>; 00180 00181 // codecvt 00182 inline template class __codecvt_abstract_base<C, char, mbstate_t>; 00183 template class codecvt_byname<C, char, mbstate_t>; 00184 00185 // collate 00186 template class collate<C>; 00187 template class collate_byname<C>; 00188 00189 // use_facet 00190 // NB: use_facet<ctype> is specialized 00191 template 00192 const codecvt<C, char, mbstate_t>& 00193 use_facet<codecvt<C, char, mbstate_t> >(const locale&); 00194 00195 template 00196 const collate<C>& 00197 use_facet<collate<C> >(const locale&); 00198 00199 template 00200 const numpunct<C>& 00201 use_facet<numpunct<C> >(const locale&); 00202 00203 template 00204 const num_put<C>& 00205 use_facet<num_put<C> >(const locale&); 00206 00207 template 00208 const num_get<C>& 00209 use_facet<num_get<C> >(const locale&); 00210 00211 template 00212 const moneypunct<C, true>& 00213 use_facet<moneypunct<C, true> >(const locale&); 00214 00215 template 00216 const moneypunct<C, false>& 00217 use_facet<moneypunct<C, false> >(const locale&); 00218 00219 template 00220 const money_put<C>& 00221 use_facet<money_put<C> >(const locale&); 00222 00223 template 00224 const money_get<C>& 00225 use_facet<money_get<C> >(const locale&); 00226 00227 template 00228 const __timepunct<C>& 00229 use_facet<__timepunct<C> >(const locale&); 00230 00231 template 00232 const time_put<C>& 00233 use_facet<time_put<C> >(const locale&); 00234 00235 template 00236 const time_get<C>& 00237 use_facet<time_get<C> >(const locale&); 00238 00239 template 00240 const messages<C>& 00241 use_facet<messages<C> >(const locale&); 00242 00243 // has_facet 00244 template 00245 bool 00246 has_facet<ctype<C> >(const locale&); 00247 00248 template 00249 bool 00250 has_facet<codecvt<C, char, mbstate_t> >(const locale&); 00251 00252 template 00253 bool 00254 has_facet<collate<C> >(const locale&); 00255 00256 template 00257 bool 00258 has_facet<numpunct<C> >(const locale&); 00259 00260 template 00261 bool 00262 has_facet<num_put<C> >(const locale&); 00263 00264 template 00265 bool 00266 has_facet<num_get<C> >(const locale&); 00267 00268 template 00269 bool 00270 has_facet<moneypunct<C> >(const locale&); 00271 00272 template 00273 bool 00274 has_facet<money_put<C> >(const locale&); 00275 00276 template 00277 bool 00278 has_facet<money_get<C> >(const locale&); 00279 00280 template 00281 bool 00282 has_facet<__timepunct<C> >(const locale&); 00283 00284 template 00285 bool 00286 has_facet<time_put<C> >(const locale&); 00287 00288 template 00289 bool 00290 has_facet<time_get<C> >(const locale&); 00291 00292 template 00293 bool 00294 has_facet<messages<C> >(const locale&); 00295 00296 00297 // locale functions. 00298 template 00299 C* 00300 __add_grouping<C>(C*, C, char const*, size_t, 00301 C const*, C const*); 00302 00303 template class __pad<C, char_traits<C> >; 00304 00305 template 00306 int 00307 __int_to_char(C*, unsigned long, const C*, 00308 ios_base::fmtflags, bool); 00309 00310 #ifdef _GLIBCXX_USE_LONG_LONG 00311 template 00312 int 00313 __int_to_char(C*, unsigned long long, const C*, 00314 ios_base::fmtflags, bool); 00315 #endif 00316 } // namespace std

Generated on Wed Jun 9 11:18:39 2004 for libstdc++-v3 Source by doxygen 1.3.7