33#pragma GCC system_header
41namespace std _GLIBCXX_VISIBILITY(default)
43_GLIBCXX_BEGIN_NAMESPACE_VERSION
45 template<
typename _Facet>
47 __check_facet(
const _Facet* __f)
66 template<
typename _CharT,
typename _Traits>
69#if __cplusplus >= 202002L
70 static_assert(is_same_v<_CharT, typename _Traits::char_type>);
102 mutable bool _M_fill_init;
120#if __cplusplus >= 201103L
121 explicit operator bool()
const
122 {
return !this->
fail(); }
124 operator void*()
const
130 {
return this->
fail(); }
142 {
return _M_streambuf_state; }
172 _M_streambuf_state |= __state;
174 __throw_exception_again;
185 {
return this->
rdstate() == 0; }
227 {
return _M_exception; }
263 _M_exception = __except;
264 this->
clear(_M_streambuf_state);
275 :
ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0),
276 _M_ctype(0), _M_num_put(0), _M_num_get(0)
277 { this->
init(__sb); }
326 {
return _M_streambuf; }
376 if (__builtin_expect(!_M_fill_init,
false))
377 return this->
widen(
' ');
433 {
return __check_facet(_M_ctype).narrow(__c, __dfault); }
452 {
return __check_facet(_M_ctype).widen(__c); }
464 _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
476#if __cplusplus >= 201103L
483 ios_base::_M_move(__rhs);
484 _M_cache_locale(_M_ios_locale);
485 this->
tie(__rhs.
tie(
nullptr));
486 _M_fill = __rhs._M_fill;
487 _M_fill_init = __rhs._M_fill_init;
488 _M_streambuf =
nullptr;
493 { this->move(__rhs); }
498 ios_base::_M_swap(__rhs);
499 _M_cache_locale(_M_ios_locale);
500 __rhs._M_cache_locale(__rhs._M_ios_locale);
501 std::swap(_M_tie, __rhs._M_tie);
502 std::swap(_M_fill, __rhs._M_fill);
503 std::swap(_M_fill_init, __rhs._M_fill_init);
507 set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
508 { _M_streambuf = __sb; }
512 _M_cache_locale(
const locale& __loc);
515_GLIBCXX_END_NAMESPACE_VERSION
ISO C++ entities toplevel namespace is std.
Template class basic_ios, virtual base class for all stream classes.
void clear(iostate __state=goodbit)
[Re]sets the error state.
bool eof() const
Fast error checking.
locale imbue(const locale &__loc)
Moves to a new locale.
ctype< _CharT > __ctype_type
_Traits::pos_type pos_type
basic_ostream< _CharT, _Traits > * tie() const
Fetches the current tied stream.
iostate exceptions() const
Throwing exceptions on errors.
void setstate(iostate __state)
Sets additional flags in the error state.
bool operator!() const
The quick-and-easy status check.
basic_ios & copyfmt(const basic_ios &__rhs)
Copies fields of __rhs into this.
char_type fill(char_type __ch)
Sets a new empty character.
iostate rdstate() const
Returns the error state of the stream buffer.
void init(basic_streambuf< _CharT, _Traits > *__sb)
All setup is performed here.
bool good() const
Fast error checking.
char_type widen(char __c) const
Widens characters.
char_type fill() const
Retrieves the empty character.
char narrow(char_type __c, char __dfault) const
Squeezes characters.
virtual ~basic_ios()
Empty.
_Traits::off_type off_type
bool fail() const
Fast error checking.
basic_ostream< _CharT, _Traits > * tie(basic_ostream< _CharT, _Traits > *__tiestr)
Ties this stream to an output stream.
basic_streambuf< _CharT, _Traits > * rdbuf() const
Accessing the underlying buffer.
_Traits::int_type int_type
num_put< _CharT, ostreambuf_iterator< _CharT, _Traits > > __num_put_type
num_get< _CharT, istreambuf_iterator< _CharT, _Traits > > __num_get_type
bool bad() const
Fast error checking.
basic_ios(basic_streambuf< _CharT, _Traits > *__sb)
Constructor performs initialization.
void exceptions(iostate __except)
Throwing exceptions on errors.
The actual work of input and output (interface).
Template class basic_ostream.
The base of the I/O class hierarchy.
_Ios_Iostate iostate
This is a bitmask type.
static const iostate eofbit
Indicates that an input operation reached the end of an input sequence.
static const iostate goodbit
Indicates all is well.
static const iostate badbit
Indicates a loss of integrity in an input or output sequence (such as an irrecoverable read error fro...
static const iostate failbit
Indicates that an input operation failed to read the expected characters, or that an output operation...
Container class for localization functionality.
Primary class template ctype facet.
Primary class template num_get.
Primary class template num_put.