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 
00035 #include <string>
00036 #include <algorithm>
00037 #include <locale>
00038 #include <vector>
00039 #include <iterator>
00040 #include <streambuf>
00041 #include <sstream>
00042 #include <fstream>
00043 #include <ios>
00044 #include <istream>
00045 #include <ostream>
00046 #include <iomanip>
00047 #include <ext/stdio_filebuf.h>
00048 
00049 
00050 #ifndef  _GLIBCPP_FULLY_COMPLIANT_HEADERS
00051 #include <bits/sstream.tcc>
00052 #include <bits/fstream.tcc>
00053 #include <bits/streambuf.tcc>
00054 #include <bits/istream.tcc>
00055 #include <bits/ostream.tcc>
00056 #endif
00057 
00058 namespace std
00059 {
00060   
00061   template class basic_streambuf<char>;
00062 #ifdef _GLIBCPP_USE_WCHAR_T
00063   template class basic_streambuf<wchar_t>;
00064 #endif
00065 
00066   
00067   template class basic_stringbuf<char>;
00068 #ifdef _GLIBCPP_USE_WCHAR_T
00069   template class basic_stringbuf<wchar_t>;
00070 #endif
00071 
00072   
00073   template class basic_filebuf<char, char_traits<char> >;
00074 #ifdef _GLIBCPP_USE_WCHAR_T
00075   template class basic_filebuf<wchar_t, char_traits<wchar_t> >;
00076 #endif
00077 
00078   
00079   template class basic_ios<char>;
00080 #ifdef _GLIBCPP_USE_WCHAR_T
00081   template class basic_ios<wchar_t>;
00082 #endif
00083 
00084   
00085   template class _Setfill<char>;
00086   template _Setfill<char> setfill(char);
00087 #ifdef _GLIBCPP_USE_WCHAR_T
00088   template class _Setfill<wchar_t>;
00089   template _Setfill<wchar_t> setfill(wchar_t);
00090 #endif
00091 
00092   
00093   template class basic_istream<char>;
00094   template istream& ws(istream&);
00095   template istream& operator>>(istream&, char&);
00096   template istream& operator>>(istream&, unsigned char&);
00097   template istream& operator>>(istream&, signed char&);
00098   template istream& operator>>(istream&, char*);
00099   template istream& operator>>(istream&, unsigned char*);
00100   template istream& operator>>(istream&, signed char*);
00101 
00102   template istream& operator>>(istream&, _Setfill<char>);
00103   template istream& operator>>(istream&, _Setiosflags);
00104   template istream& operator>>(istream&, _Resetiosflags);
00105   template istream& operator>>(istream&, _Setbase);
00106   template istream& operator>>(istream&, _Setprecision);
00107   template istream& operator>>(istream&, _Setw);
00108 
00109 #ifdef _GLIBCPP_USE_WCHAR_T
00110   template class basic_istream<wchar_t>;
00111   template wistream& ws(wistream&);
00112   template wistream& operator>>(wistream&, wchar_t&);
00113   template wistream& operator>>(wistream&, wchar_t*);
00114 
00115   template wistream& operator>>(wistream&, _Setfill<wchar_t>);
00116   template wistream& operator>>(wistream&, _Setiosflags);
00117   template wistream& operator>>(wistream&, _Resetiosflags);
00118   template wistream& operator>>(wistream&, _Setbase);
00119   template wistream& operator>>(wistream&, _Setprecision);
00120   template wistream& operator>>(wistream&, _Setw);
00121 #endif
00122 
00123   
00124   template class basic_ostream<char>;
00125   template ostream& endl(ostream&);
00126   template ostream& ends(ostream&);
00127   template ostream& flush(ostream&);
00128   template ostream& operator<<(ostream&, char);
00129   template ostream& operator<<(ostream&, unsigned char);
00130   template ostream& operator<<(ostream&, signed char);
00131   template ostream& operator<<(ostream&, const char*);
00132   template ostream& operator<<(ostream&, const unsigned char*);
00133   template ostream& operator<<(ostream&, const signed char*);
00134 
00135   template ostream& operator<<(ostream&, _Setfill<char>);
00136   template ostream& operator<<(ostream&, _Setiosflags);
00137   template ostream& operator<<(ostream&, _Resetiosflags);
00138   template ostream& operator<<(ostream&, _Setbase);
00139   template ostream& operator<<(ostream&, _Setprecision);
00140   template ostream& operator<<(ostream&, _Setw);
00141 
00142 #ifdef _GLIBCPP_USE_WCHAR_T
00143   template class basic_ostream<wchar_t>;
00144   template wostream& endl(wostream&);
00145   template wostream& ends(wostream&);
00146   template wostream& flush(wostream&);
00147   template wostream& operator<<(wostream&, wchar_t);
00148   template wostream& operator<<(wostream&, char);
00149   template wostream& operator<<(wostream&, const wchar_t*);
00150   template wostream& operator<<(wostream&, const char*);
00151 
00152   template wostream& operator<<(wostream&, _Setfill<wchar_t>);
00153   template wostream& operator<<(wostream&, _Setiosflags);
00154   template wostream& operator<<(wostream&, _Resetiosflags);
00155   template wostream& operator<<(wostream&, _Setbase);
00156   template wostream& operator<<(wostream&, _Setprecision);
00157   template wostream& operator<<(wostream&, _Setw);
00158 #endif
00159   
00160 
00161   
00162   template class basic_iostream<char>;
00163 #ifdef _GLIBCPP_USE_WCHAR_T
00164   template class basic_iostream<wchar_t>; 
00165 #endif
00166 
00167   
00168   template class basic_ifstream<char>;
00169 #ifdef _GLIBCPP_USE_WCHAR_T
00170   template class basic_ifstream<wchar_t>;
00171 #endif
00172 
00173   
00174   template class basic_ofstream<char>;
00175 #ifdef _GLIBCPP_USE_WCHAR_T
00176   template class basic_ofstream<wchar_t>;
00177 #endif
00178 
00179   
00180   template class basic_fstream<char>;
00181 #ifdef _GLIBCPP_USE_WCHAR_T
00182   template class basic_fstream<wchar_t>;
00183 #endif
00184 
00185   
00186   template class basic_istringstream<char>;
00187 #ifdef _GLIBCPP_USE_WCHAR_T
00188   template class basic_istringstream<wchar_t>; 
00189 #endif
00190 
00191   
00192   template class basic_ostringstream<char>;
00193 #ifdef _GLIBCPP_USE_WCHAR_T
00194   template class basic_ostringstream<wchar_t>; 
00195 #endif
00196 
00197   
00198   template class basic_stringstream<char>;
00199 #ifdef _GLIBCPP_USE_WCHAR_T
00200   template class basic_stringstream<wchar_t>; 
00201 #endif
00202 
00203   
00204   template 
00205     basic_istream<char>& 
00206     operator>>(basic_istream<char>&, string&);
00207   template 
00208     basic_ostream<char>& 
00209     operator<<(basic_ostream<char>&, const string&);
00210   template 
00211     basic_istream<char>& 
00212     getline(basic_istream<char>&, string&, char);
00213   template 
00214     basic_istream<char>& 
00215     getline(basic_istream<char>&, string&);
00216 #ifdef _GLIBCPP_USE_WCHAR_T
00217   template 
00218     basic_istream<wchar_t>& 
00219     operator>>(basic_istream<wchar_t>&, wstring&);
00220   template 
00221     basic_ostream<wchar_t>& 
00222     operator<<(basic_ostream<wchar_t>&, const wstring&);
00223   template 
00224     basic_istream<wchar_t>& 
00225     getline(basic_istream<wchar_t>&, wstring&, wchar_t);
00226   template 
00227     basic_istream<wchar_t>& 
00228     getline(basic_istream<wchar_t>&, wstring&);
00229 #endif
00230 
00231   
00232   typedef  _Char_traits_match<char, char_traits<char> > char_match;
00233 
00234   template 
00235     const char*  
00236     find_if<const char *, char_match>
00237     (const char *, const char *, char_match, random_access_iterator_tag);
00238 
00239 #ifdef _GLIBCPP_USE_WCHAR_T
00240   typedef  _Char_traits_match<wchar_t, char_traits<wchar_t> > wchar_match;
00241 
00242   template const wchar_t*  
00243     find_if<const wchar_t*, wchar_match>
00244     (const wchar_t*, const wchar_t*, wchar_match, random_access_iterator_tag);
00245 #endif
00246   
00247   template 
00248     string* 
00249     __uninitialized_fill_n_aux<string*, size_t, string>
00250     (string*, size_t, string const &, __false_type);
00251 
00252   template 
00253     string* 
00254     __uninitialized_copy_aux<vector<string>::const_iterator, string *>
00255     (vector<string>::const_iterator, vector<string>::const_iterator, 
00256      string*, __false_type);
00257 
00258   template
00259     streamsize
00260     __copy_streambufs(basic_ios<char>&, basic_streambuf<char>*,
00261               basic_streambuf<char>*); 
00262 #ifdef _GLIBCPP_USE_WCHAR_T
00263   template
00264     streamsize
00265     __copy_streambufs(basic_ios<wchar_t>&, basic_streambuf<wchar_t>*,
00266               basic_streambuf<wchar_t>*); 
00267 #endif
00268   
00269   using __gnu_cxx::stdio_filebuf;
00270   template class stdio_filebuf<char>;
00271 #ifdef _GLIBCPP_USE_WCHAR_T
00272   template class stdio_filebuf<wchar_t>;
00273 #endif
00274 }