33 #define _BASIC_IOS_H 1
35 #pragma GCC system_header
42 namespace std _GLIBCXX_VISIBILITY(default)
44 _GLIBCXX_BEGIN_NAMESPACE_VERSION
46 template<
typename _Facet>
48 __check_facet(
const _Facet* __f)
63 template<
typename _CharT,
typename _Traits>
64 class basic_ios :
public ios_base
95 mutable bool _M_fill_init;
113 operator void*()
const
118 {
return this->
fail(); }
130 {
return _M_streambuf_state; }
160 _M_streambuf_state |= __state;
162 __throw_exception_again;
173 {
return this->
rdstate() == 0; }
215 {
return _M_exception; }
251 _M_exception = __except;
252 this->
clear(_M_streambuf_state);
263 :
ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0),
264 _M_ctype(0), _M_num_put(0), _M_num_get(0)
265 { this->
init(__sb); }
314 {
return _M_streambuf; }
366 _M_fill = this->
widen(
' ');
423 {
return __check_facet(_M_ctype).narrow(__c, __dfault); }
442 {
return __check_facet(_M_ctype).widen(__c); }
454 _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
467 _M_cache_locale(
const locale& __loc);
470 _GLIBCXX_END_NAMESPACE_VERSION
The ctype specialization.This class defines classification and conversion functions for the cha...
iostate exceptions() const
Throwing exceptions on errors.
_Traits::off_type off_type
static const iostate failbit
Indicates that an input operation failed to read the expected characters, or that an output operation...
_Traits::pos_type pos_type
basic_ostream< _CharT, _Traits > * tie() const
Fetches the current tied stream.
Virtual base class for all stream classes.Most of the member functions called dispatched on stream ob...
iostate rdstate() const
Returns the error state of the stream buffer.
num_get< _CharT, istreambuf_iterator< _CharT, _Traits > > __num_get_type
bool eof() const
Fast error checking.
Template class basic_ostream.This is the base class for all output streams. It provides text formatti...
Primary class template num_put.This facet encapsulates the code to convert a number to a string...
char_type fill(char_type __ch)
Sets a new empty character.
Primary class template ctype facet.This template class defines classification and conversion function...
char narrow(char_type __c, char __dfault) const
Squeezes characters.
_Traits::int_type int_type
bool fail() const
Fast error checking.
bool good() const
Fast error checking.
ctype< _CharT > __ctype_type
void clear(iostate __state=goodbit)
[Re]sets the error state.
void init(basic_streambuf< _CharT, _Traits > *__sb)
All setup is performed here.
The actual work of input and output (interface).This is a base class. Derived stream buffers each con...
Primary class template num_get.This facet encapsulates the code to parse and return a number from a s...
_Ios_Iostate iostate
This is a bitmask type.
char_type widen(char __c) const
Widens characters.
basic_ios & copyfmt(const basic_ios &__rhs)
Copies fields of __rhs into this.
static const iostate badbit
Indicates a loss of integrity in an input or output sequence (such as an irrecoverable read error fro...
basic_ios(basic_streambuf< _CharT, _Traits > *__sb)
Constructor performs initialization.
static const iostate goodbit
Indicates all is well.
virtual ~basic_ios()
Empty.
bool bad() const
Fast error checking.
void setstate(iostate __state)
Sets additional flags in the error state.
basic_streambuf< _CharT, _Traits > * rdbuf() const
Accessing the underlying buffer.
char_type fill() const
Retrieves the empty character.
The base of the I/O class hierarchy.This class defines everything that can be defined about I/O that ...
void exceptions(iostate __except)
Throwing exceptions on errors.
static const iostate eofbit
Indicates that an input operation reached the end of an input sequence.
bool operator!() const
The quick-and-easy status check.
basic_ostream< _CharT, _Traits > * tie(basic_ostream< _CharT, _Traits > *__tiestr)
Ties this stream to an output stream.
Container class for localization functionality.The locale class is first a class wrapper for C librar...
num_put< _CharT, ostreambuf_iterator< _CharT, _Traits > > __num_put_type
locale imbue(const locale &__loc)
Moves to a new locale.