197403Sobrien// Explicit instantiation file.
297403Sobrien
3169691Skan// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
497403Sobrien// Free Software Foundation, Inc.
597403Sobrien//
697403Sobrien// This file is part of the GNU ISO C++ Library.  This library is free
797403Sobrien// software; you can redistribute it and/or modify it under the
897403Sobrien// terms of the GNU General Public License as published by the
997403Sobrien// Free Software Foundation; either version 2, or (at your option)
1097403Sobrien// any later version.
1197403Sobrien
1297403Sobrien// This library is distributed in the hope that it will be useful,
1397403Sobrien// but WITHOUT ANY WARRANTY; without even the implied warranty of
1497403Sobrien// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1597403Sobrien// GNU General Public License for more details.
1697403Sobrien
1797403Sobrien// You should have received a copy of the GNU General Public License along
1897403Sobrien// with this library; see the file COPYING.  If not, write to the Free
19169691Skan// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
2097403Sobrien// USA.
2197403Sobrien
2297403Sobrien// As a special exception, you may use this file as part of a free software
2397403Sobrien// library without restriction.  Specifically, if other files instantiate
2497403Sobrien// templates or use macros or inline functions from this file, or you compile
2597403Sobrien// this file and link it with other files to produce an executable, this
2697403Sobrien// file does not by itself cause the resulting executable to be covered by
2797403Sobrien// the GNU General Public License.  This exception does not however
2897403Sobrien// invalidate any other reasons why the executable file might be covered by
2997403Sobrien// the GNU General Public License.
3097403Sobrien
3197403Sobrien//
3297403Sobrien// ISO C++ 14882:
3397403Sobrien//
3497403Sobrien
3597403Sobrien#include <string>
36102782Skan#include <istream>
37102782Skan#include <ostream>
38132720Skan#include <ext/stdio_sync_filebuf.h>
3997403Sobrien
40169691Skan_GLIBCXX_BEGIN_NAMESPACE(std)
41169691Skan
4297403Sobrien  // string related to iostreams
4397403Sobrien  template
4497403Sobrien    basic_istream<char>&
4597403Sobrien    operator>>(basic_istream<char>&, string&);
4697403Sobrien  template
4797403Sobrien    basic_ostream<char>&
4897403Sobrien    operator<<(basic_ostream<char>&, const string&);
4997403Sobrien  template
5097403Sobrien    basic_istream<char>&
5197403Sobrien    getline(basic_istream<char>&, string&, char);
5297403Sobrien  template
5397403Sobrien    basic_istream<char>&
5497403Sobrien    getline(basic_istream<char>&, string&);
55132720Skan#ifdef _GLIBCXX_USE_WCHAR_T
5697403Sobrien  template
5797403Sobrien    basic_istream<wchar_t>&
5897403Sobrien    operator>>(basic_istream<wchar_t>&, wstring&);
5997403Sobrien  template
6097403Sobrien    basic_ostream<wchar_t>&
6197403Sobrien    operator<<(basic_ostream<wchar_t>&, const wstring&);
6297403Sobrien  template
6397403Sobrien    basic_istream<wchar_t>&
6497403Sobrien    getline(basic_istream<wchar_t>&, wstring&, wchar_t);
6597403Sobrien  template
6697403Sobrien    basic_istream<wchar_t>&
6797403Sobrien    getline(basic_istream<wchar_t>&, wstring&);
6897403Sobrien#endif
69117397Skan
70169691Skan_GLIBCXX_END_NAMESPACE
71169691Skan
72169691Skan_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
73169691Skan
74132720Skan  template class stdio_sync_filebuf<char>;
75132720Skan#ifdef _GLIBCXX_USE_WCHAR_T
76132720Skan  template class stdio_sync_filebuf<wchar_t>;
77117397Skan#endif
78117397Skan
79169691Skan_GLIBCXX_END_NAMESPACE
80132720Skan
81169691Skan
82