31 #define _BASIC_IOS_H 1 33 #pragma GCC system_header 41 namespace 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>
67 class basic_ios :
public ios_base
97 mutable char_type _M_fill;
98 mutable bool _M_fill_init;
102 const __ctype_type* _M_ctype;
116 #if __cplusplus >= 201103L 117 explicit operator bool()
const 118 {
return !this->
fail(); }
120 operator void*()
const 126 {
return this->
fail(); }
138 {
return _M_streambuf_state; }
164 _M_setstate(iostate __state)
168 _M_streambuf_state |= __state;
170 __throw_exception_again;
181 {
return this->
rdstate() == 0; }
223 {
return _M_exception; }
259 _M_exception = __except;
260 this->
clear(_M_streambuf_state);
271 :
ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0),
272 _M_ctype(0), _M_num_put(0), _M_num_get(0)
273 { this->
init(__sb); }
322 {
return _M_streambuf; }
374 _M_fill = this->
widen(
' ');
392 char_type __old = this->
fill();
430 narrow(char_type __c,
char __dfault)
const 431 {
return __check_facet(_M_ctype).narrow(__c, __dfault); }
450 {
return __check_facet(_M_ctype).widen(__c); }
461 :
ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false),
462 _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
474 #if __cplusplus >= 201103L 481 ios_base::_M_move(__rhs);
482 _M_cache_locale(_M_ios_locale);
483 this->
tie(__rhs.tie(
nullptr));
484 _M_fill = __rhs._M_fill;
485 _M_fill_init = __rhs._M_fill_init;
486 _M_streambuf =
nullptr;
491 { this->move(__rhs); }
496 ios_base::_M_swap(__rhs);
497 _M_cache_locale(_M_ios_locale);
498 __rhs._M_cache_locale(__rhs._M_ios_locale);
499 std::swap(_M_tie, __rhs._M_tie);
500 std::swap(_M_fill, __rhs._M_fill);
501 std::swap(_M_fill_init, __rhs._M_fill_init);
506 { _M_streambuf = __sb; }
510 _M_cache_locale(
const locale& __loc);
513 _GLIBCXX_END_NAMESPACE_VERSION
bool fail() const
Fast error checking.
static const iostate eofbit
Indicates that an input operation reached the end of an input sequence.
static const iostate failbit
Indicates that an input operation failed to read the expected characters, or that an output operation...
bool eof() const
Fast error checking.
char narrow(char_type __c, char __dfault) const
Squeezes characters.
basic_ios & copyfmt(const basic_ios &__rhs)
Copies fields of __rhs into this.
basic_ostream< _CharT, _Traits > * tie() const
Fetches the current tied stream.
char_type fill() const
Retrieves the empty character.
Primary class template num_get.This facet encapsulates the code to parse and return a number from a s...
basic_ostream< _CharT, _Traits > * tie(basic_ostream< _CharT, _Traits > *__tiestr)
Ties this stream to an output stream.
char_type widen(char __c) const
Widens characters.
bool bad() const
Fast error checking.
_Traits::int_type int_type
The actual work of input and output (interface).
void exceptions(iostate __except)
Throwing exceptions on errors.
void setstate(iostate __state)
Sets additional flags in the error state.
Template class basic_ostream.
virtual ~basic_ios()
Empty.
ISO C++ entities toplevel namespace is std.
The base of the I/O class hierarchy.This class defines everything that can be defined about I/O that ...
num_put< _CharT, ostreambuf_iterator< _CharT, _Traits > > __num_put_type
iostate exceptions() const
Throwing exceptions on errors.
bool operator!() const
The quick-and-easy status check.
void clear(iostate __state=goodbit)
[Re]sets the error state.
Container class for localization functionality.The locale class is first a class wrapper for C librar...
Template class basic_ios, virtual base class for all stream classes.
_Traits::pos_type pos_type
ctype< _CharT > __ctype_type
basic_ios(basic_streambuf< _CharT, _Traits > *__sb)
Constructor performs initialization.
locale imbue(const locale &__loc)
Moves to a new locale.
Primary class template ctype facet.This template class defines classification and conversion function...
basic_streambuf< _CharT, _Traits > * rdbuf() const
Accessing the underlying buffer.
bool good() const
Fast error checking.
static const iostate badbit
Indicates a loss of integrity in an input or output sequence (such as an irrecoverable read error fro...
void init(basic_streambuf< _CharT, _Traits > *__sb)
All setup is performed here.
_Traits::off_type off_type
static const iostate goodbit
Indicates all is well.
char_type fill(char_type __ch)
Sets a new empty character.
Primary class template num_put.This facet encapsulates the code to convert a number to a string...
iostate rdstate() const
Returns the error state of the stream buffer.
num_get< _CharT, istreambuf_iterator< _CharT, _Traits > > __num_get_type