diff options
author | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-02-16 00:19:13 +0000 |
---|---|---|
committer | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-02-16 00:19:13 +0000 |
commit | 11e7cbd117218786d63482f42adf31148925037f (patch) | |
tree | 3ce77f3b8272c41aa4b08f4fb58573bdab29ffee /libstdc++-v3/src/misc-inst.cc | |
parent | 479ca6e8a0bcbc7cd9527c8538c5bca3cf4aeb50 (diff) | |
download | gcc-11e7cbd117218786d63482f42adf31148925037f.tar.gz |
2002-02-15 Benjamin Kosnik <bkoz@redhat.com>
Tune for size.
* src/string-inst.cc (string::_Rep::_S_terminal): Remove redundant
explicit instantiation.
(string::_Rep::_S_max_size): Same.
* include/bits/basic_string.tcc: Add extern explicit
instantiations for string, wstring.
* include/bits/basic_ios.tcc: Add extern explicit instantiations
for ios, wios.
* include/bits/streambuf.tcc: Same, for streambuf, wstreambuf.
* include/bits/istream.tcc: Same, for istream, wistream.
* include/bits/ostream.tcc: Same for ostream, wostream, iostream,
wiostream.
* include/bits/sstream.tcc: Same, for stringbuf, wstringbuf,
istringstream, wistringstream, ostringstream, wostringstream,
stringstream, wstringstream.
* include/bits/fstream.tcc: Same, for filebuf, wfilebuf, ifstream,
wifstream, ofstream, wofstream, fstream, wfstream.
* src/misc-inst.cc: Correct comments.
Add iomanip instantiations for wide streams.
* include/std/std_iomanip.h: Same.
* include/bits/locale_facets.tcc: Same.
* include/std/std_streambuf.h: Correct
_GLIBCPP_FULLY_COMPLIANT_HEADERS guard.
* include/std/std_sstream.h: Same.
* include/std/std_ostream.h: Same.
* include/std/std_istream.h: Same.
* include/std/std_fstream.h: Same.
* include/std/std_streambuf.h: Add definitions for private copy
ctor and assignment operator.
* include/std/std_istream.h: Remove declared but undefined copy
ctor and assignment operator. This is taken care of in ios_base,
so adding it in the derived class as well is superfluous.
* include/std/std_ostream.h: Same.
* include/bits/basic_ios.h (basic_ios::clear): Don't inline.
* include/bits/basic_ios.tcc (basic_ios::clear): Move definition here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49798 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/src/misc-inst.cc')
-rw-r--r-- | libstdc++-v3/src/misc-inst.cc | 73 |
1 files changed, 29 insertions, 44 deletions
diff --git a/libstdc++-v3/src/misc-inst.cc b/libstdc++-v3/src/misc-inst.cc index bb0bd78da93..a276a732ed3 100644 --- a/libstdc++-v3/src/misc-inst.cc +++ b/libstdc++-v3/src/misc-inst.cc @@ -1,6 +1,7 @@ // Explicit instantiation file. -// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -44,7 +45,7 @@ #include <ostream> #include <iomanip> -// NB: unnecessary if the .h headers include these +// NB: Unnecessary if the .h headers already include these. #ifndef _GLIBCPP_FULLY_COMPLIANT_HEADERS #include <bits/sstream.tcc> #include <bits/fstream.tcc> @@ -55,46 +56,31 @@ namespace std { - - // // streambuf - // template class basic_streambuf<char>; #ifdef _GLIBCPP_USE_WCHAR_T template class basic_streambuf<wchar_t>; #endif - - // - // stringstream - // + // stringbuf template class basic_stringbuf<char>; #ifdef _GLIBCPP_USE_WCHAR_T template class basic_stringbuf<wchar_t>; #endif - - // - // fstream - // + // filebuf template class basic_filebuf<char, char_traits<char> >; #ifdef _GLIBCPP_USE_WCHAR_T template class basic_filebuf<wchar_t, char_traits<wchar_t> >; #endif - - // // basic_ios - // template class basic_ios<char>; #ifdef _GLIBCPP_USE_WCHAR_T template class basic_ios<wchar_t>; #endif - - // // iomanip - // template class _Setfill<char>; template _Setfill<char> setfill(char); #ifdef _GLIBCPP_USE_WCHAR_T @@ -102,10 +88,7 @@ namespace std template _Setfill<wchar_t> setfill(wchar_t); #endif - - // // istream - // template class basic_istream<char>; template istream& ws(istream&); template istream& operator>>(istream&, char&); @@ -115,10 +98,10 @@ namespace std template istream& operator>>(istream&, unsigned char*); template istream& operator>>(istream&, signed char*); + template istream& operator>>(istream&, _Setfill<char>); template istream& operator>>(istream&, _Setiosflags); template istream& operator>>(istream&, _Resetiosflags); template istream& operator>>(istream&, _Setbase); - template istream& operator>>(istream&, _Setfill<char>); template istream& operator>>(istream&, _Setprecision); template istream& operator>>(istream&, _Setw); @@ -127,13 +110,16 @@ namespace std template wistream& ws(wistream&); template wistream& operator>>(wistream&, wchar_t&); template wistream& operator>>(wistream&, wchar_t*); + template wistream& operator>>(wistream&, _Setfill<wchar_t>); + template wistream& operator>>(wistream&, _Setiosflags); + template wistream& operator>>(wistream&, _Resetiosflags); + template wistream& operator>>(wistream&, _Setbase); + template wistream& operator>>(wistream&, _Setprecision); + template wistream& operator>>(wistream&, _Setw); #endif - - // // ostream - // template class basic_ostream<char>; template ostream& endl(ostream&); template ostream& ends(ostream&); @@ -145,10 +131,10 @@ namespace std template ostream& operator<<(ostream&, const unsigned char*); template ostream& operator<<(ostream&, const signed char*); + template ostream& operator<<(ostream&, _Setfill<char>); template ostream& operator<<(ostream&, _Setiosflags); template ostream& operator<<(ostream&, _Resetiosflags); template ostream& operator<<(ostream&, _Setbase); - template ostream& operator<<(ostream&, _Setfill<char>); template ostream& operator<<(ostream&, _Setprecision); template ostream& operator<<(ostream&, _Setw); @@ -161,58 +147,59 @@ namespace std template wostream& operator<<(wostream&, char); template wostream& operator<<(wostream&, const wchar_t*); template wostream& operator<<(wostream&, const char*); + template wostream& operator<<(wostream&, _Setfill<wchar_t>); + template wostream& operator<<(wostream&, _Setiosflags); + template wostream& operator<<(wostream&, _Resetiosflags); + template wostream& operator<<(wostream&, _Setbase); + template wostream& operator<<(wostream&, _Setprecision); + template wostream& operator<<(wostream&, _Setw); #endif - // // iostream - // template class basic_iostream<char>; #ifdef _GLIBCPP_USE_WCHAR_T template class basic_iostream<wchar_t>; #endif - - // // ifstream - // template class basic_ifstream<char>; #ifdef _GLIBCPP_USE_WCHAR_T template class basic_ifstream<wchar_t>; #endif - - // // ofstream - // template class basic_ofstream<char>; #ifdef _GLIBCPP_USE_WCHAR_T template class basic_ofstream<wchar_t>; #endif + // fstream + template class basic_fstream<char>; +#ifdef _GLIBCPP_USE_WCHAR_T + template class basic_fstream<wchar_t>; +#endif - // // istringstream - // template class basic_istringstream<char>; #ifdef _GLIBCPP_USE_WCHAR_T template class basic_istringstream<wchar_t>; #endif - - // // ostringstream - // template class basic_ostringstream<char>; #ifdef _GLIBCPP_USE_WCHAR_T template class basic_ostringstream<wchar_t>; #endif + // stringstream + template class basic_stringstream<char>; +#ifdef _GLIBCPP_USE_WCHAR_T + template class basic_stringstream<wchar_t>; +#endif - // // string related to iostreams - // template basic_istream<char>& operator>>(basic_istream<char>&, string&); @@ -240,9 +227,7 @@ namespace std getline(basic_istream<wchar_t>&, wstring&); #endif - // // algorithm - // typedef _Char_traits_match<char, char_traits<char> > char_match; template |