Library: Input/output
Header
The header <iosfwd> is part of the Input/output library of the C++ Standard Library. It declares all essential iostream class templates and defines aliases for specializations of these templates on types char and wchar_t.
#include <iosfwd>
namespace std {
// forward declare the traits class
template<class charT> struct char_traits;
// forward declare the positioning class
template<class stateT> class fpos;
// forward declare the state class
class mbstate_t;
// forward declare the allocator class
template<class T> class allocator;
// forward declare the iostreams class templates
template<class charT,class traits=char_traits<charT> >
class basic_ios;
template<class charT,class traits=char_traits<charT> >
class basic_streambuf;
template<class charT,class traits=char_traits<charT> >
class basic_istream;
template<class charT,class traits=char_traits<charT> >
class basic_ostream;
template<class charT,class traits=char_traits<charT>,
class Allocator = allocator<charT> >
class basic_stringbuf;
template<class charT,class traits=char_traits<charT>,
class Allocator = allocator<charT> >
class basic_istringstream;
template<class charT,class traits=char_traits<charT>,
class Allocator = allocator<charT> >
class basic_ostringstream;
template<class charT,class traits=char_traits<charT> >
class basic_filebuf;
template<class charT,class traits=char_traits<charT> >
class basic_ifstream;
template<class charT,class traits=char_traits<charT> >
class basic_ofstream;
template<class charT,class traits=char_traits<charT> >
class ostreambuf_iterator;
template<class charT,class traits=char_traits<charT> >
class istreambuf_iterator;
template<class charT,class traits=char_traits<charT> >
class basic_iostream;
template<class charT,class traits=char_traits<charT>,
class Allocator = allocator<charT> >
class basic_stringstream;
template<class charT,class traits=char_traits<charT> >
class basic_fstream;
// specializations on tiny characters
typedef basic_ios<char> ios;
typedef basic_streambuf<char> streambuf;
typedef basic_istream<char> istream;
typedef basic_ostream<char> ostream;
typedef basic_stringbuf<char> stringbuf;
typedef basic_istringstream<char> istringstream;
typedef basic_ostringstream<char> ostringstream;
typedef basic_filebuf<char> filebuf;
typedef basic_ifstream<char> ifstream;
typedef basic_ofstream<char> ofstream;
typedef basic_iostream<char> iostream;
typedef basic_stringstream<char> stringstream;
typedef basic_fstream<char> fstream;
// specializations on wide characters
typedef basic_ios<wchar_t> wios;
typedef basic_streambuf<wchar_t> wstreambuf;
typedef basic_istream<wchar_t> wistream;
typedef basic_ostream<wchar_t> wostream;
typedef basic_stringbuf<wchar_t> wstringbuf;
typedef basic_istringstream<wchar_t> wistringstream;
typedef basic_ostringstream<wchar_t> wostringstream;
typedef basic_filebuf<wchar_t> wfilebuf;
typedef basic_ifstream<wchar_t> wifstream;
typedef basic_ofstream<wchar_t> wofstream;
typedef basic_iostream<wchar_t> wiostream;
typedef basic_stringstream<wchar_t> wstringstream;
typedef basic_fstream<wchar_t> wfstream;
// positional types used by char_traits
typedef fpos<mbstate_t> streampos;
typedef fpos<mbstate_t> wstreampos;
typedef long streamoff;
typedef long wstreamoff;
}
fpos, char_traits, basic_ios, basic_streambuf, basic_istream, basic_ostream, basic_iostream, basic_stringbuf, basic_istringstream, basic_ostringstream, basic_stringstream, basic_filebuf, basic_ifstream, basic_ofstream, basic_fstream, istreambuf_iterator, ostreambuf_iterator
ISO/IEC 14882:1998 -- International Standard for Information Systems --Programming Language C++, Section 27.2