std::basic_ios - cppreference.com (original) (raw)
The class std::basic_ios provides facilities for interfacing with objects that have std::basic_streambuf interface. Several std::basic_ios objects can refer to one actual std::basic_streambuf object.
Inheritance diagram
Several typedefs for common character types are provided:
| Defined in header | |
|---|---|
| Type | Definition |
| std::ios | std::basic_ios<char> |
| std::wios | std::basic_ios<wchar_t> |
Contents
- 1 Member types
- 2 Public member functions
- 3 Protected member functions
- 4 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] Public member functions
| (constructor) | constructs the object (public member function) [edit] |
|---|---|
| (destructor)[virtual] | destructs the object (virtual public member function) [edit] |
| operator= | the copy assignment operator is deleted (public member function) |
| State functions | |
| good | checks if no error has occurred i.e. I/O operations are available (public member function) [edit] |
| eof | checks if end-of-file has been reached (public member function) [edit] |
| fail | checks if an error has occurred (public member function) [edit] |
| bad | checks if a non-recoverable error has occurred (public member function) [edit] |
| operator! | checks if an error has occurred (synonym of fail()) (public member function) [edit] |
| operator bool | checks if no error has occurred (synonym of |
| rdstate | returns state flags (public member function) [edit] |
| setstate | sets state flags (public member function) [edit] |
| clear | modifies state flags (public member function) [edit] |
| Formatting | |
| copyfmt | copies formatting information (public member function) [edit] |
| fill | manages the fill character (public member function) [edit] |
| Miscellaneous | |
| exceptions | manages exception mask (public member function) [edit] |
| imbue | sets the locale (public member function) [edit] |
| rdbuf | manages associated stream buffer (public member function) [edit] |
| tie | manages tied stream (public member function) [edit] |
| narrow | narrows characters (public member function) [edit] |
| widen | widens characters (public member function) [edit] |
[edit] Protected member functions
| | initializes a default-constructed std::basic_ios (protected member function) [edit] | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | moves from another std::basic_ios except for rdbuf (protected member function) [edit] | | | swaps with another std::basic_ios except for rdbuf (protected member function) [edit] | | | replaces the rdbuf without clearing its error state (protected member function) [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] Notes
Straightforward implementation of std::basic_ios stores only the following members (which all depend on the template parameters and thus cannot be part of std::ios_base):
- the fill character (see fill())
- the tied stream pointer (see tie())
- the associated stream buffer pointer (see rdbuf()).
Actual implementations vary:
Microsoft Visual Studio stores just those three members.
LLVM libc++ stores 1 less member: it maintains the rdbuf pointer as a void* member of ios_base.
GNU libstdc++ stores 4 additional members: three cached facets and a flag to indicate that fill was initialized.