std_iosfwd.h revision 97403
197403Sobrien// Forwarding declarations -*- C++ -*- 297403Sobrien 397403Sobrien// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc. 497403Sobrien// 597403Sobrien// This file is part of the GNU ISO C++ Library. This library is free 697403Sobrien// software; you can redistribute it and/or modify it under the 797403Sobrien// terms of the GNU General Public License as published by the 897403Sobrien// Free Software Foundation; either version 2, or (at your option) 997403Sobrien// any later version. 1097403Sobrien 1197403Sobrien// This library is distributed in the hope that it will be useful, 1297403Sobrien// but WITHOUT ANY WARRANTY; without even the implied warranty of 1397403Sobrien// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1497403Sobrien// GNU General Public License for more details. 1597403Sobrien 1697403Sobrien// You should have received a copy of the GNU General Public License along 1797403Sobrien// with this library; see the file COPYING. If not, write to the Free 1897403Sobrien// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, 1997403Sobrien// USA. 2097403Sobrien 2197403Sobrien// As a special exception, you may use this file as part of a free software 2297403Sobrien// library without restriction. Specifically, if other files instantiate 2397403Sobrien// templates or use macros or inline functions from this file, or you compile 2497403Sobrien// this file and link it with other files to produce an executable, this 2597403Sobrien// file does not by itself cause the resulting executable to be covered by 2697403Sobrien// the GNU General Public License. This exception does not however 2797403Sobrien// invalidate any other reasons why the executable file might be covered by 2897403Sobrien// the GNU General Public License. 2997403Sobrien 3097403Sobrien// 3197403Sobrien// ISO C++ 14882: 27.2 Forward declarations 3297403Sobrien// 3397403Sobrien 3497403Sobrien/** @file iosfwd 3597403Sobrien * This is a Standard C++ Library header. You should @c #include this header 3697403Sobrien * in your programs, rather than any of the "st[dl]_*.h" implementation files. 3797403Sobrien */ 3897403Sobrien 3997403Sobrien#ifndef _CPP_IOSFWD 4097403Sobrien#define _CPP_IOSFWD 1 4197403Sobrien 4297403Sobrien#pragma GCC system_header 4397403Sobrien 4497403Sobrien#include <bits/c++config.h> 4597403Sobrien#include <bits/stringfwd.h> // For string forward declarations. 4697403Sobrien#include <bits/fpos.h> 4797403Sobrien#include <bits/functexcept.h> 4897403Sobrien 4997403Sobriennamespace std 5097403Sobrien{ 5197403Sobrien template<typename _CharT, typename _Traits = char_traits<_CharT> > 5297403Sobrien class basic_ios; 5397403Sobrien 5497403Sobrien template<typename _CharT, typename _Traits = char_traits<_CharT> > 5597403Sobrien class basic_streambuf; 5697403Sobrien 5797403Sobrien template<typename _CharT, typename _Traits = char_traits<_CharT> > 5897403Sobrien class basic_istream; 5997403Sobrien 6097403Sobrien template<typename _CharT, typename _Traits = char_traits<_CharT> > 6197403Sobrien class basic_ostream; 6297403Sobrien 6397403Sobrien template<typename _CharT, typename _Traits = char_traits<_CharT> > 6497403Sobrien class basic_iostream; 6597403Sobrien 6697403Sobrien template<typename _CharT, typename _Traits = char_traits<_CharT>, 6797403Sobrien typename _Alloc = allocator<_CharT> > 6897403Sobrien class basic_stringbuf; 6997403Sobrien 7097403Sobrien template<typename _CharT, typename _Traits = char_traits<_CharT>, 7197403Sobrien typename _Alloc = allocator<_CharT> > 7297403Sobrien class basic_istringstream; 7397403Sobrien 7497403Sobrien template<typename _CharT, typename _Traits = char_traits<_CharT>, 7597403Sobrien typename _Alloc = allocator<_CharT> > 7697403Sobrien class basic_ostringstream; 7797403Sobrien 7897403Sobrien template<typename _CharT, typename _Traits = char_traits<_CharT>, 7997403Sobrien typename _Alloc = allocator<_CharT> > 8097403Sobrien class basic_stringstream; 8197403Sobrien 8297403Sobrien template<typename _CharT, typename _Traits = char_traits<_CharT> > 8397403Sobrien class basic_filebuf; 8497403Sobrien 8597403Sobrien template<typename _CharT, typename _Traits = char_traits<_CharT> > 8697403Sobrien class basic_ifstream; 8797403Sobrien 8897403Sobrien template<typename _CharT, typename _Traits = char_traits<_CharT> > 8997403Sobrien class basic_ofstream; 9097403Sobrien 9197403Sobrien template<typename _CharT, typename _Traits = char_traits<_CharT> > 9297403Sobrien class basic_fstream; 9397403Sobrien 9497403Sobrien template<typename _CharT, typename _Traits = char_traits<_CharT> > 9597403Sobrien class istreambuf_iterator; 9697403Sobrien 9797403Sobrien template<typename _CharT, typename _Traits = char_traits<_CharT> > 9897403Sobrien class ostreambuf_iterator; 9997403Sobrien 10097403Sobrien#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS 10197403Sobrien // Not included. (??? Apparently no LWG number?) 10297403Sobrien class ios_base; 10397403Sobrien#endif 10497403Sobrien 10597403Sobrien typedef basic_ios<char> ios; 10697403Sobrien typedef basic_streambuf<char> streambuf; 10797403Sobrien typedef basic_istream<char> istream; 10897403Sobrien typedef basic_ostream<char> ostream; 10997403Sobrien typedef basic_iostream<char> iostream; 11097403Sobrien typedef basic_stringbuf<char> stringbuf; 11197403Sobrien typedef basic_istringstream<char> istringstream; 11297403Sobrien typedef basic_ostringstream<char> ostringstream; 11397403Sobrien typedef basic_stringstream<char> stringstream; 11497403Sobrien typedef basic_filebuf<char> filebuf; 11597403Sobrien typedef basic_ifstream<char> ifstream; 11697403Sobrien typedef basic_ofstream<char> ofstream; 11797403Sobrien typedef basic_fstream<char> fstream; 11897403Sobrien 11997403Sobrien typedef basic_ios<wchar_t> wios; 12097403Sobrien typedef basic_streambuf<wchar_t> wstreambuf; 12197403Sobrien typedef basic_istream<wchar_t> wistream; 12297403Sobrien typedef basic_ostream<wchar_t> wostream; 12397403Sobrien typedef basic_iostream<wchar_t> wiostream; 12497403Sobrien typedef basic_stringbuf<wchar_t> wstringbuf; 12597403Sobrien typedef basic_istringstream<wchar_t> wistringstream; 12697403Sobrien typedef basic_ostringstream<wchar_t> wostringstream; 12797403Sobrien typedef basic_stringstream<wchar_t> wstringstream; 12897403Sobrien typedef basic_filebuf<wchar_t> wfilebuf; 12997403Sobrien typedef basic_ifstream<wchar_t> wifstream; 13097403Sobrien typedef basic_ofstream<wchar_t> wofstream; 13197403Sobrien typedef basic_fstream<wchar_t> wfstream; 13297403Sobrien} // namespace std 13397403Sobrien 13497403Sobrien#endif 135