# I/O Forward Declarations

## Detailed Description

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

## Typedefs

- typedef basic_filebuf< char > std::filebuf
- typedef basic_fstream< char > std::fstream
- typedef basic_ifstream< char > std::ifstream
- typedef basic_ios< char > std::ios
- typedef basic_iostream< char > std::iostream
- typedef basic_istream< char > std::istream
- typedef basic_istringstream<
  char > std::istringstream
- typedef basic_ofstream< char > std::ofstream
- typedef basic_ostream< char > std::ostream
- typedef basic_ostringstream<
  char > std::ostringstream
- typedef basic_streambuf< char > std::streambuf
- typedef basic_stringbuf< char > std::stringbuf
- typedef basic_stringstream<
  char > std::stringstream
- typedef basic_filebuf< wchar_t > std::wfilebuf
- typedef basic_fstream< wchar_t > std::wfstream
- typedef basic_ifstream< wchar_t > std::wifstream
- typedef basic_ios< wchar_t > std::wios
- typedef basic_iostream< wchar_t > std::wiostream
- typedef basic_istream< wchar_t > std::wistream
- typedef basic_istringstream<
  wchar_t > std::wistringstream
- typedef basic_ofstream< wchar_t > std::wofstream
- typedef basic_ostream< wchar_t > std::wostream
- typedef basic_ostringstream<
  wchar_t > std::wostringstream
- typedef basic_streambuf< wchar_t > std::wstreambuf
- typedef basic_stringbuf< wchar_t > std::wstringbuf
- typedef basic_stringstream<
  wchar_t > std::wstringstream

## Typedef Documentation

typedef basic_filebuf<char> filebuf

| One of the I/O forward declarations . Definition at line 144 of file iosfwd.

typedef basic_fstream<char> fstream

| One of the I/O forward declarations . Definition at line 147 of file iosfwd.

typedef basic_ifstream<char> ifstream

| One of the I/O forward declarations . Definition at line 145 of file iosfwd.

typedef basic_ios<char> ios

| One of the I/O forward declarations . Definition at line 135 of file iosfwd.

typedef basic_iostream<char> iostream

| One of the I/O forward declarations . Definition at line 139 of file iosfwd.

typedef basic_istream<char> istream

| One of the I/O forward declarations . Definition at line 137 of file iosfwd.

typedef basic_istringstream<char> istringstream

| One of the I/O forward declarations . Definition at line 141 of file iosfwd.

typedef basic_ofstream<char> ofstream

| One of the I/O forward declarations . Definition at line 146 of file iosfwd.

typedef basic_ostream<char> ostream

| One of the I/O forward declarations . Definition at line 138 of file iosfwd.

typedef basic_ostringstream<char> ostringstream

| One of the I/O forward declarations . Definition at line 142 of file iosfwd.

typedef basic_streambuf<char> streambuf

| One of the I/O forward declarations . Definition at line 136 of file iosfwd.

typedef basic_stringbuf<char> stringbuf

| One of the I/O forward declarations . Definition at line 140 of file iosfwd.

typedef basic_stringstream<char> stringstream

| One of the I/O forward declarations . Definition at line 143 of file iosfwd.

typedef basic_filebuf<wchar_t> wfilebuf

| One of the I/O forward declarations . Definition at line 159 of file iosfwd.

typedef basic_fstream<wchar_t> wfstream

| One of the I/O forward declarations . Definition at line 162 of file iosfwd.

typedef basic_ifstream<wchar_t> wifstream

| One of the I/O forward declarations . Definition at line 160 of file iosfwd.

typedef basic_ios<wchar_t> wios

| One of the I/O forward declarations . Definition at line 150 of file iosfwd.

typedef basic_iostream<wchar_t> wiostream

| One of the I/O forward declarations . Definition at line 154 of file iosfwd.

typedef basic_istream<wchar_t> wistream

| One of the I/O forward declarations . Definition at line 152 of file iosfwd.

typedef basic_istringstream<wchar_t> wistringstream

| One of the I/O forward declarations . Definition at line 156 of file iosfwd.

typedef basic_ofstream<wchar_t> wofstream

| One of the I/O forward declarations . Definition at line 161 of file iosfwd.

typedef basic_ostream<wchar_t> wostream

| One of the I/O forward declarations . Definition at line 153 of file iosfwd.

typedef basic_ostringstream<wchar_t> wostringstream

| One of the I/O forward declarations . Definition at line 157 of file iosfwd.

typedef basic_streambuf<wchar_t> wstreambuf

| One of the I/O forward declarations . Definition at line 151 of file iosfwd.

typedef basic_stringbuf<wchar_t> wstringbuf

| One of the I/O forward declarations . Definition at line 155 of file iosfwd.

typedef basic_stringstream<wchar_t> wstringstream

| One of the I/O forward declarations . Definition at line 158 of file iosfwd.