std::basic_iostream - cppreference.com (original) (raw)
| | | | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | | template< class CharT, class Traits = std::char_traits<CharT> > class basic_iostream : public basic_istream<CharT, Traits>, public basic_ostream<CharT, Traits> | | |
The class template basic_iostream provides support for high level input/output operations on streams. The supported operations include sequential reading or writing and formatting. This functionality is implemented over the interface provided by the std::basic_streambuf class. It is accessed through std::basic_ios class.
Inheritance diagram
Several typedefs for common character types are provided:
| Type | Definition |
| std::iostream | std::basic_iostream<char> |
| std::wiostream | std::basic_iostream<wchar_t> |
Contents
- 1 Member types
- 2 Member functions
- 3 Protected member functions
- 4 Inherited from std::basic_istream
- 5 Inherited from std::basic_ostream
- 6 Inherited from std::basic_ios
- 7 Inherited from std::ios_base
[edit] Member types
| Member type | Definition |
|---|---|
| char_type | CharT[edit] |
| traits_type | Traits; the program is ill-formed if Traits::char_type is not CharT.[edit] |
| int_type | Traits::int_type[edit] |
| pos_type | Traits::pos_type[edit] |
| off_type | Traits::off_type[edit] |
[edit] Member functions
[edit] Protected member functions
| | move-assigns another basic_iostream (protected member function) [edit] | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | exchanges the state with another basic_iostream (public member function) [edit] |
Inherited from std::basic_istream
Member functions
| Formatted input | |
|---|---|
| operator>> | extracts formatted data (public member function of std::basic_istream<CharT,Traits>) [edit] |
| Unformatted input | |
| get | extracts characters (public member function of std::basic_istream<CharT,Traits>) [edit] |
| peek | reads the next character without extracting it (public member function of std::basic_istream<CharT,Traits>) [edit] |
| unget | unextracts a character (public member function of std::basic_istream<CharT,Traits>) [edit] |
| putback | puts a character into input stream (public member function of std::basic_istream<CharT,Traits>) [edit] |
| getline | extracts characters until the given character is found (public member function of std::basic_istream<CharT,Traits>) [edit] |
| ignore | extracts and discards characters until the given character is found (public member function of std::basic_istream<CharT,Traits>) [edit] |
| read | extracts blocks of characters (public member function of std::basic_istream<CharT,Traits>) [edit] |
| readsome | extracts already available blocks of characters (public member function of std::basic_istream<CharT,Traits>) [edit] |
| gcount | returns number of characters extracted by last unformatted input operation (public member function of std::basic_istream<CharT,Traits>) [edit] |
| Positioning | |
| tellg | returns the input position indicator (public member function of std::basic_istream<CharT,Traits>) [edit] |
| seekg | sets the input position indicator (public member function of std::basic_istream<CharT,Traits>) [edit] |
| Miscellaneous | |
| sync | synchronizes with the underlying storage device (public member function of std::basic_istream<CharT,Traits>) [edit] |
Member classes
| | implements basic logic for preparation of the stream for input operations (public member class of std::basic_istream<CharT,Traits>) [edit] | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
Inherited from std::basic_ostream
Member functions
| Formatted output | |
|---|---|
| operator<< | inserts formatted data (public member function of std::basic_ostream<CharT,Traits>) [edit] |
| Unformatted output | |
| put | inserts a character (public member function of std::basic_ostream<CharT,Traits>) [edit] |
| write | inserts blocks of characters (public member function of std::basic_ostream<CharT,Traits>) [edit] |
| Positioning | |
| tellp | returns the output position indicator (public member function of std::basic_ostream<CharT,Traits>) [edit] |
| seekp | sets the output position indicator (public member function of std::basic_ostream<CharT,Traits>) [edit] |
| Miscellaneous | |
| flush | synchronizes with the underlying storage device (public member function of std::basic_ostream<CharT,Traits>) [edit] |
Member classes
| | implements basic logic for preparation of the stream for output operations (public member class of std::basic_ostream<CharT,Traits>) [edit] | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
Inherited from std::basic_ios
Member types
| Member type | Definition |
|---|---|
| char_type | CharT |
| traits_type | Traits |
| int_type | Traits::int_type |
| pos_type | Traits::pos_type |
| off_type | Traits::off_type |
Member functions
| State functions | |
|---|---|
| good | checks if no error has occurred i.e. I/O operations are available (public member function of std::basic_ios<CharT,Traits>) [edit] |
| eof | checks if end-of-file has been reached (public member function of std::basic_ios<CharT,Traits>) [edit] |
| fail | checks if an error has occurred (public member function of std::basic_ios<CharT,Traits>) [edit] |
| bad | checks if a non-recoverable error has occurred (public member function of std::basic_ios<CharT,Traits>) [edit] |
| operator! | checks if an error has occurred (synonym of fail()) (public member function of std::basic_ios<CharT,Traits>) [edit] |
| operator bool | checks if no error has occurred (synonym of |
| rdstate | returns state flags (public member function of std::basic_ios<CharT,Traits>) [edit] |
| setstate | sets state flags (public member function of std::basic_ios<CharT,Traits>) [edit] |
| clear | modifies state flags (public member function of std::basic_ios<CharT,Traits>) [edit] |
| Formatting | |
| copyfmt | copies formatting information (public member function of std::basic_ios<CharT,Traits>) [edit] |
| fill | manages the fill character (public member function of std::basic_ios<CharT,Traits>) [edit] |
| Miscellaneous | |
| exceptions | manages exception mask (public member function of std::basic_ios<CharT,Traits>) [edit] |
| imbue | sets the locale (public member function of std::basic_ios<CharT,Traits>) [edit] |
| rdbuf | manages associated stream buffer (public member function of std::basic_ios<CharT,Traits>) [edit] |
| tie | manages tied stream (public member function of std::basic_ios<CharT,Traits>) [edit] |
| narrow | narrows characters (public member function of std::basic_ios<CharT,Traits>) [edit] |
| widen | widens characters (public member function of std::basic_ios<CharT,Traits>) [edit] |
Inherited from std::ios_base
Member functions
| Formatting | |
|---|---|
| flags | manages format flags (public member function of std::ios_base) [edit] |
| setf | sets specific format flag (public member function of std::ios_base) [edit] |
| unsetf | clears specific format flag (public member function of std::ios_base) [edit] |
| precision | manages decimal precision of floating point operations (public member function of std::ios_base) [edit] |
| width | manages field width (public member function of std::ios_base) [edit] |
| Locales | |
| imbue | sets locale (public member function of std::ios_base) [edit] |
| getloc | returns current locale (public member function of std::ios_base) [edit] |
| Internal extensible array | |
| xalloc[static] | returns a program-wide unique integer that is safe to use as index to pword() and iword() (public static member function of std::ios_base) [edit] |
| iword | resizes the private storage if necessary and access to the long element at the given index (public member function of std::ios_base) [edit] |
| pword | resizes the private storage if necessary and access to the void* element at the given index (public member function of std::ios_base) [edit] |
| Miscellaneous | |
| register_callback | registers event callback function (public member function of std::ios_base) [edit] |
| sync_with_stdio[static] | sets whether C++ and C I/O libraries are interoperable (public static member function of std::ios_base) [edit] |
| Member classes | |
| failure | stream exception (public member class of std::ios_base) [edit] |
| Init | initializes standard stream objects (public member class of std::ios_base) [edit] |
[edit] Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 271 | C++98 | the member types char_type, traits_type, int_type, pos_type and off_type were not defined(std::basic_istream and std::basic_ostream both define these types, resulted in ambiguity) | definethese types |