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.

std-basic ios-inheritance.svg

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

[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 fail()) (public member function) [edit]
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):

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.