Whole document tree misc-inst.ccGo to the documentation of this file.00001 // Explicit instantiation file. 00002 00003 // Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. 00004 // 00005 // This file is part of the GNU ISO C++ Library. This library is free 00006 // software; you can redistribute it and/or modify it under the 00007 // terms of the GNU General Public License as published by the 00008 // Free Software Foundation; either version 2, or (at your option) 00009 // any later version. 00010 00011 // This library is distributed in the hope that it will be useful, 00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 // GNU General Public License for more details. 00015 00016 // You should have received a copy of the GNU General Public License along 00017 // with this library; see the file COPYING. If not, write to the Free 00018 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, 00019 // USA. 00020 00021 // As a special exception, you may use this file as part of a free software 00022 // library without restriction. Specifically, if other files instantiate 00023 // templates or use macros or inline functions from this file, or you compile 00024 // this file and link it with other files to produce an executable, this 00025 // file does not by itself cause the resulting executable to be covered by 00026 // the GNU General Public License. This exception does not however 00027 // invalidate any other reasons why the executable file might be covered by 00028 // the GNU General Public License. 00029 00030 // 00031 // ISO C++ 14882: 00032 // 00033 00034 #include <bits/std_string.h> 00035 #include <bits/std_algorithm.h> 00036 #include <bits/std_locale.h> 00037 #include <bits/std_vector.h> 00038 #include <bits/std_iterator.h> 00039 #include <bits/std_streambuf.h> 00040 #include <bits/std_sstream.h> 00041 #include <bits/std_fstream.h> 00042 #include <bits/std_ios.h> 00043 #include <bits/basic_ios.tcc> 00044 #include <bits/std_istream.h> 00045 #include <bits/std_ostream.h> 00046 #include <bits/std_string.h> 00047 00048 // NB: unnecessary if the .h headers include these 00049 #ifndef _GLIBCPP_FULLY_COMPLIANT_HEADERS 00050 #include <bits/sstream.tcc> 00051 #include <bits/fstream.tcc> 00052 #include <bits/streambuf.tcc> 00053 #include <bits/istream.tcc> 00054 #include <bits/ostream.tcc> 00055 #endif 00056 00057 namespace std 00058 { 00059 00060 // 00061 // streambuf 00062 // 00063 template class basic_streambuf<char>; 00064 #ifdef _GLIBCPP_USE_WCHAR_T 00065 template class basic_streambuf<wchar_t>; 00066 #endif 00067 00068 00069 // 00070 // stringstream 00071 // 00072 template class basic_stringbuf<char>; 00073 #ifdef _GLIBCPP_USE_WCHAR_T 00074 template class basic_stringbuf<wchar_t>; 00075 #endif 00076 00077 00078 // 00079 // fstream 00080 // 00081 template class basic_filebuf<char, char_traits<char> >; 00082 #ifdef _GLIBCPP_USE_WCHAR_T 00083 template class basic_filebuf<wchar_t, char_traits<wchar_t> >; 00084 #endif 00085 00086 00087 // 00088 // basic_ios 00089 // 00090 template class basic_ios<char>; 00091 #ifdef _GLIBCPP_USE_WCHAR_T 00092 template class basic_ios<wchar_t>; 00093 #endif 00094 00095 00096 // 00097 // istream 00098 // 00099 template class basic_istream<char>; 00100 template istream& ws(istream&); 00101 template istream& operator>>(istream&, char&); 00102 template istream& operator>>(istream&, unsigned char&); 00103 template istream& operator>>(istream&, signed char&); 00104 template istream& operator>>(istream&, char*); 00105 template istream& operator>>(istream&, unsigned char*); 00106 template istream& operator>>(istream&, signed char*); 00107 #ifdef _GLIBCPP_USE_WCHAR_T 00108 template class basic_istream<wchar_t>; 00109 template wistream& ws(wistream&); 00110 template wistream& operator>>(wistream&, wchar_t&); 00111 template wistream& operator>>(wistream&, wchar_t*); 00112 #endif 00113 00114 00115 // 00116 // ostream 00117 // 00118 template class basic_ostream<char>; 00119 template ostream& endl(ostream&); 00120 template ostream& ends(ostream&); 00121 template ostream& flush(ostream&); 00122 template ostream& operator<<(ostream&, char); 00123 template ostream& operator<<(ostream&, unsigned char); 00124 template ostream& operator<<(ostream&, signed char); 00125 template ostream& operator<<(ostream&, const char*); 00126 template ostream& operator<<(ostream&, const unsigned char*); 00127 template ostream& operator<<(ostream&, const signed char*); 00128 #ifdef _GLIBCPP_USE_WCHAR_T 00129 template class basic_ostream<wchar_t>; 00130 template wostream& endl(wostream&); 00131 template wostream& ends(wostream&); 00132 template wostream& flush(wostream&); 00133 template wostream& operator<<(wostream&, wchar_t); 00134 template wostream& operator<<(wostream&, char); 00135 template wostream& operator<<(wostream&, const wchar_t*); 00136 template wostream& operator<<(wostream&, const char*); 00137 #endif 00138 00139 00140 // 00141 // iostream 00142 // 00143 template class basic_iostream<char>; 00144 #ifdef _GLIBCPP_USE_WCHAR_T 00145 template class basic_iostream<wchar_t>; 00146 #endif 00147 00148 00149 // 00150 // ifstream 00151 // 00152 template class basic_ifstream<char>; 00153 #ifdef _GLIBCPP_USE_WCHAR_T 00154 template class basic_ifstream<wchar_t>; 00155 #endif 00156 00157 00158 // 00159 // ofstream 00160 // 00161 template class basic_ofstream<char>; 00162 #ifdef _GLIBCPP_USE_WCHAR_T 00163 template class basic_ofstream<wchar_t>; 00164 #endif 00165 00166 00167 // 00168 // istringstream 00169 // 00170 template class basic_istringstream<char>; 00171 #ifdef _GLIBCPP_USE_WCHAR_T 00172 template class basic_istringstream<wchar_t>; 00173 #endif 00174 00175 00176 // 00177 // ostringstream 00178 // 00179 template class basic_ostringstream<char>; 00180 #ifdef _GLIBCPP_USE_WCHAR_T 00181 template class basic_ostringstream<wchar_t>; 00182 #endif 00183 00184 00185 // 00186 // string related to iostreams 00187 // 00188 template 00189 basic_istream<char>& 00190 operator>>(basic_istream<char>&, string&); 00191 template 00192 basic_ostream<char>& 00193 operator<<(basic_ostream<char>&, const string&); 00194 template 00195 basic_istream<char>& 00196 getline(basic_istream<char>&, string&, char); 00197 template 00198 basic_istream<char>& 00199 getline(basic_istream<char>&, string&); 00200 #ifdef _GLIBCPP_USE_WCHAR_T 00201 template 00202 basic_istream<wchar_t>& 00203 operator>>(basic_istream<wchar_t>&, wstring&); 00204 template 00205 basic_ostream<wchar_t>& 00206 operator<<(basic_ostream<wchar_t>&, const wstring&); 00207 template 00208 basic_istream<wchar_t>& 00209 getline(basic_istream<wchar_t>&, wstring&, wchar_t); 00210 template 00211 basic_istream<wchar_t>& 00212 getline(basic_istream<wchar_t>&, wstring&); 00213 #endif 00214 00215 // 00216 // algorithm 00217 // 00218 typedef _Char_traits_match<char, char_traits<char> > char_match; 00219 00220 template 00221 const char* 00222 find_if<const char *, char_match> 00223 (const char *, const char *, char_match, random_access_iterator_tag); 00224 00225 #ifdef _GLIBCPP_USE_WCHAR_T 00226 typedef _Char_traits_match<wchar_t, char_traits<wchar_t> > wchar_match; 00227 00228 template const wchar_t* 00229 find_if<const wchar_t*, wchar_match> 00230 (const wchar_t*, const wchar_t*, wchar_match, random_access_iterator_tag); 00231 #endif 00232 00233 template 00234 string* 00235 __uninitialized_fill_n_aux<string*, size_t, string> 00236 (string*, size_t, string const &, _Bool<false>); 00237 00238 template 00239 string* 00240 __uninitialized_copy_aux<vector<string>::const_iterator, string *> 00241 (vector<string>::const_iterator, vector<string>::const_iterator, 00242 string*, _Bool<false>); 00243 00244 template 00245 void 00246 __pad_char(basic_ios<char>&, char*, const char*, 00247 const streamsize, const streamsize); 00248 #ifdef _GLIBCPP_USE_WCHAR_T 00249 template 00250 void 00251 __pad_char(basic_ios<wchar_t>&, wchar_t*, const wchar_t*, 00252 const streamsize, const streamsize); 00253 #endif 00254 00255 template 00256 ostreambuf_iterator<char> 00257 __pad_numeric(ostreambuf_iterator<char>, _Ios_Fmtflags, char, int, 00258 const char*, const char*, const char*); 00259 #ifdef _GLIBCPP_USE_WCHAR_T 00260 template 00261 ostreambuf_iterator<wchar_t> 00262 __pad_numeric(ostreambuf_iterator<wchar_t>, _Ios_Fmtflags, wchar_t, int, 00263 const wchar_t*, const wchar_t*, const wchar_t*); 00264 #endif 00265 00266 template 00267 ostreambuf_iterator<char> 00268 __output_float(ostreambuf_iterator<char>, ios_base&, char, 00269 const char*, size_t); 00270 #ifdef _GLIBCPP_USE_WCHAR_T 00271 template 00272 ostreambuf_iterator<wchar_t> 00273 __output_float(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, 00274 const char*, size_t); 00275 #endif 00276 00277 template 00278 streamsize 00279 __copy_streambufs(basic_ios<char>&, basic_streambuf<char>*, 00280 basic_streambuf<char>*); 00281 #ifdef _GLIBCPP_USE_WCHAR_T 00282 template 00283 streamsize 00284 __copy_streambufs(basic_ios<wchar_t>&, basic_streambuf<wchar_t>*, 00285 basic_streambuf<wchar_t>*); 00286 #endif 00287 } //std Generated on Mon Apr 8 03:11:30 2002 for libstdc++-v3 Source by ![]() |