1 // Explicit instantiation file.
2 
3 // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009
4 // Free Software Foundation, Inc.
5 //
6 // This file is part of the GNU ISO C++ Library.  This library is free
7 // software; you can redistribute it and/or modify it under the
8 // terms of the GNU General Public License as published by the
9 // Free Software Foundation; either version 3, or (at your option)
10 // any later version.
11 
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 // GNU General Public License for more details.
16 
17 // Under Section 7 of GPL version 3, you are granted additional
18 // permissions described in the GCC Runtime Library Exception, version
19 // 3.1, as published by the Free Software Foundation.
20 
21 // You should have received a copy of the GNU General Public License and
22 // a copy of the GCC Runtime Library Exception along with this program;
23 // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
24 // <http://www.gnu.org/licenses/>.
25 
26 //
27 // ISO C++ 14882:
28 //
29 
30 #include <string>
31 #include <istream>
32 #include <ostream>
33 #include <ext/stdio_sync_filebuf.h>
34 
35 namespace std _GLIBCXX_VISIBILITY(default)
36 {
37 _GLIBCXX_BEGIN_NAMESPACE_VERSION
38 
39   // string related to iostreams
40   template
41     basic_istream<char>&
42     operator>>(basic_istream<char>&, string&);
43   template
44     basic_ostream<char>&
45     operator<<(basic_ostream<char>&, const string&);
46   template
47     basic_istream<char>&
48     getline(basic_istream<char>&, string&, char);
49   template
50     basic_istream<char>&
51     getline(basic_istream<char>&, string&);
52 #ifdef _GLIBCXX_USE_WCHAR_T
53   template
54     basic_istream<wchar_t>&
55     operator>>(basic_istream<wchar_t>&, wstring&);
56   template
57     basic_ostream<wchar_t>&
58     operator<<(basic_ostream<wchar_t>&, const wstring&);
59   template
60     basic_istream<wchar_t>&
61     getline(basic_istream<wchar_t>&, wstring&, wchar_t);
62   template
63     basic_istream<wchar_t>&
64     getline(basic_istream<wchar_t>&, wstring&);
65 #endif
66 
67 _GLIBCXX_END_NAMESPACE_VERSION
68 } // namespace
69 
70 namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
71 {
72 _GLIBCXX_BEGIN_NAMESPACE_VERSION
73 
74   template class stdio_sync_filebuf<char>;
75 #ifdef _GLIBCXX_USE_WCHAR_T
76   template class stdio_sync_filebuf<wchar_t>;
77 #endif
78 
79 _GLIBCXX_END_NAMESPACE_VERSION
80 } // namespace
81 
82 
83