Classes |
class | __gnu_cxx::stdio_filebuf< _CharT, _Traits > |
| Provides a layer of compatibility for C/POSIX.This GNU extension provides extensions for working with standard C FILE*'s and POSIX file descriptors. It must be instantiated by the user with the type of character used in the file stream, e.g., stdio_filebuf<char>. More...
|
class | __gnu_cxx::stdio_sync_filebuf< _CharT, _Traits > |
| Provides a layer of compatibility for C.This GNU extension provides extensions for working with standard C FILE*'s. It must be instantiated by the user with the type of character used in the file stream, e.g., stdio_filebuf<char>. More...
|
class | std::basic_filebuf< _CharT, _Traits > |
| The actual work of input and output (for files). More...
|
class | std::basic_fstream< _CharT, _Traits > |
| Controlling input and output for files. More...
|
class | std::basic_ifstream< _CharT, _Traits > |
| Controlling input for files. More...
|
class | std::basic_ios< _CharT, _Traits > |
| Template class basic_ios, virtual base class for all stream classes. More...
|
class | std::basic_iostream< _CharT, _Traits > |
| Template class basic_iostream. More...
|
class | std::basic_istream< _CharT, _Traits > |
| Template class basic_istream. More...
|
class | std::basic_istringstream< _CharT, _Traits, _Alloc > |
| Controlling input for std::string. More...
|
class | std::basic_ofstream< _CharT, _Traits > |
| Controlling output for files. More...
|
class | std::basic_ostream< _CharT, _Traits > |
| Template class basic_ostream. More...
|
class | std::basic_ostringstream< _CharT, _Traits, _Alloc > |
| Controlling output for std::string. More...
|
class | std::basic_streambuf< _CharT, _Traits > |
| The actual work of input and output (interface). More...
|
class | std::basic_stringbuf< _CharT, _Traits, _Alloc > |
| The actual work of input and output (for std::string). More...
|
class | std::basic_stringstream< _CharT, _Traits, _Alloc > |
| Controlling input and output for std::string. More...
|
class | std::ios_base |
| The base of the I/O class hierarchy.This class defines everything that can be defined about I/O that does not depend on the type of characters being input or output. Most people will only see ios_base when they need to specify the full name of the various I/O flags (e.g., the openmodes). More...
|
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 |
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:
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++.