summaryrefslogtreecommitdiff
path: root/libstdc++-v3/src/misc-inst.cc
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2002-02-16 00:19:13 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2002-02-16 00:19:13 +0000
commit11e7cbd117218786d63482f42adf31148925037f (patch)
tree3ce77f3b8272c41aa4b08f4fb58573bdab29ffee /libstdc++-v3/src/misc-inst.cc
parent479ca6e8a0bcbc7cd9527c8538c5bca3cf4aeb50 (diff)
downloadgcc-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.cc73
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