Nearly all of the I/O classes are parameterized on the type of characters they read and write. (The major exception is ios_base at the top of the hierarchy.) This is a change from pre-Standard streams, which were not templates.
For ease of use and compatibility, all of the basic_* I/O-related classes are given typedef names for both of the builtin character widths (wide and narrow). The typedefs are the same as the pre-Standard names, for example:
typedef basic_ifstream<char> ifstream;
Because properly forward-declaring these classes can be difficult, you should not do it yourself. Instead, include the <iosfwd> header, which contains only declarations of all the I/O classes as well as the typedefs. Trying to forward-declare the typedefs themselves (e.g., "class ostream;") is not valid ISO C++.
For more specific declarations, see http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#10
typedef basic_filebuf<char> filebuf |
One of the I/O forward declarations .
typedef basic_fstream<char> fstream |
One of the I/O forward declarations .
typedef basic_ifstream<char> ifstream |
One of the I/O forward declarations .
typedef basic_ios<char> ios |
One of the I/O forward declarations .
typedef basic_iostream<char> iostream |
One of the I/O forward declarations .
typedef basic_istream<char> istream |
One of the I/O forward declarations .
typedef basic_istringstream<char> istringstream |
One of the I/O forward declarations .
typedef basic_ofstream<char> ofstream |
One of the I/O forward declarations .
typedef basic_ostream<char> ostream |
One of the I/O forward declarations .
typedef basic_ostringstream<char> ostringstream |
One of the I/O forward declarations .
typedef basic_streambuf<char> streambuf |
One of the I/O forward declarations .
typedef basic_stringbuf<char> stringbuf |
One of the I/O forward declarations .
typedef basic_stringstream<char> stringstream |
One of the I/O forward declarations .
typedef basic_filebuf<wchar_t> wfilebuf |
One of the I/O forward declarations .
typedef basic_fstream<wchar_t> wfstream |
One of the I/O forward declarations .
typedef basic_ifstream<wchar_t> wifstream |
One of the I/O forward declarations .
typedef basic_ios<wchar_t> wios |
One of the I/O forward declarations .
typedef basic_iostream<wchar_t> wiostream |
One of the I/O forward declarations .
typedef basic_istream<wchar_t> wistream |
One of the I/O forward declarations .
typedef basic_istringstream<wchar_t> wistringstream |
One of the I/O forward declarations .
typedef basic_ofstream<wchar_t> wofstream |
One of the I/O forward declarations .
typedef basic_ostream<wchar_t> wostream |
One of the I/O forward declarations .
typedef basic_ostringstream<wchar_t> wostringstream |
One of the I/O forward declarations .
typedef basic_streambuf<wchar_t> wstreambuf |
One of the I/O forward declarations .
typedef basic_stringbuf<wchar_t> wstringbuf |
One of the I/O forward declarations .
typedef basic_stringstream<wchar_t> wstringstream |
One of the I/O forward declarations .