std:: basic_ios
Defined in header
<ios>
|
||
template
<
class
CharT,
|
||
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
<ios>
|
|
Type | Definition |
std::ios
|
std :: basic_ios < char > |
std::wios
|
std :: basic_ios < wchar_t > |
Member types
Member type | Definition |
char_type
|
CharT
|
traits_type
|
Traits
; the program is ill-formed if
Traits::char_type
is not
CharT
.
|
int_type
|
Traits::int_type
|
pos_type
|
Traits::pos_type
|
off_type
|
Traits::off_type
|
Public member functions
constructs the object
(public member function) |
|
[virtual]
|
destructs the object
(virtual public member function) |
operator=
|
the copy assignment operator is deleted
(public member function) |
State functions |
|
checks if no error has occurred i.e. I/O operations are available
(public member function) |
|
checks if end-of-file has been reached
(public member function) |
|
checks if an error has occurred
(public member function) |
|
checks if a non-recoverable error has occurred
(public member function) |
|
checks if an error has occurred (synonym of
fail()
)
(public member function) |
|
checks if no error has occurred (synonym of
!
fail()
)
(public member function) |
|
returns state flags
(public member function) |
|
sets state flags
(public member function) |
|
modifies state flags
(public member function) |
|
Formatting |
|
copies formatting information
(public member function) |
|
manages the fill character
(public member function) |
|
Miscellaneous |
|
manages exception mask
(public member function) |
|
sets the locale
(public member function) |
|
manages associated stream buffer
(public member function) |
|
manages tied stream
(public member function) |
|
narrows characters
(public member function) |
|
widens characters
(public member function) |
Protected member functions
initializes a default-constructed
std::basic_ios
(protected member function) |
|
(C++11)
|
moves from another
std::basic_ios
except for
rdbuf
(protected member function) |
(C++11)
|
swaps with another
std::basic_ios
except for
rdbuf
(protected member function) |
replaces the
rdbuf
without clearing its error state
(protected member function) |
Inherited from std:: ios_base
Member functions
Formatting |
|
manages format flags
(public member function of
std::ios_base
)
|
|
sets specific format flag
(public member function of
std::ios_base
)
|
|
clears specific format flag
(public member function of
std::ios_base
)
|
|
manages decimal precision of floating point operations
(public member function of
std::ios_base
)
|
|
manages field width
(public member function of
std::ios_base
)
|
|
Locales |
|
sets locale
(public member function of
std::ios_base
)
|
|
returns current locale
(public member function of
std::ios_base
)
|
|
Internal extensible array |
|
[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
)
|
resizes the private storage if necessary and access to the
long
element at the given index
(public member function of
std::ios_base
)
|
|
resizes the private storage if necessary and access to the
void
*
element at the given index
(public member function of
std::ios_base
)
|
|
Miscellaneous |
|
registers event callback function
(public member function of
std::ios_base
)
|
|
[static]
|
sets whether C++ and C I/O libraries are interoperable
(public static member function of
std::ios_base
)
|
Member classes |
|
stream exception
(public member class of
std::ios_base
)
|
|
initializes standard stream objects
(public member class of
std::ios_base
)
|
Member types and constants |
|||||||||||||||||||||||||||||||||||||||
Type | Explanation | ||||||||||||||||||||||||||||||||||||||
stream open mode type
The following constants are also defined:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
formatting flags type
The following constants are also defined:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
state of the stream type
The following constants are also defined:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
seeking direction type
The following constants are also defined:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
specifies event type
(enum) |
|||||||||||||||||||||||||||||||||||||||
callback function type
(typedef) |
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.