30 #ifndef _BASIC_IOS_TCC 31 #define _BASIC_IOS_TCC 1 33 #pragma GCC system_header 35 namespace std _GLIBCXX_VISIBILITY(default)
37 _GLIBCXX_BEGIN_NAMESPACE_VERSION
39 template<
typename _CharT,
typename _Traits>
44 _M_streambuf_state = __state;
46 _M_streambuf_state = __state | badbit;
47 if (this->exceptions() & this->rdstate())
48 __throw_ios_failure(__N(
"basic_ios::clear"));
51 template<
typename _CharT,
typename _Traits>
61 template<
typename _CharT,
typename _Traits>
73 _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ?
74 _M_local_word :
new _Words[__rhs._M_word_size];
77 _Callback_list* __cb = __rhs._M_callbacks;
79 __cb->_M_add_reference();
80 _M_call_callbacks(erase_event);
81 if (_M_word != _M_local_word)
86 _M_dispose_callbacks();
90 for (
int __i = 0; __i < __rhs._M_word_size; ++__i)
91 __words[__i] = __rhs._M_word[__i];
93 _M_word_size = __rhs._M_word_size;
95 this->flags(__rhs.
flags());
96 this->width(__rhs.
width());
99 this->fill(__rhs.
fill());
100 _M_ios_locale = __rhs.
getloc();
101 _M_cache_locale(_M_ios_locale);
103 _M_call_callbacks(copyfmt_event);
112 template<
typename _CharT,
typename _Traits>
116 locale __old(this->getloc());
118 _M_cache_locale(__loc);
119 if (this->rdbuf() != 0)
120 this->rdbuf()->pubimbue(__loc);
124 template<
typename _CharT,
typename _Traits>
132 _M_cache_locale(_M_ios_locale);
147 _M_fill_init =
false;
150 _M_exception = goodbit;
152 _M_streambuf_state = __sb ? goodbit : badbit;
155 template<
typename _CharT,
typename _Traits>
159 if (__builtin_expect(has_facet<__ctype_type>(__loc),
true))
164 if (__builtin_expect(has_facet<__num_put_type>(__loc),
true))
169 if (__builtin_expect(has_facet<__num_get_type>(__loc),
true))
177 #if _GLIBCXX_EXTERN_TEMPLATE 178 extern template class basic_ios<char>;
180 #ifdef _GLIBCXX_USE_WCHAR_T 181 extern template class basic_ios<wchar_t>;
185 _GLIBCXX_END_NAMESPACE_VERSION
basic_ostream< _CharT, _Traits > * tie() const
Fetches the current tied stream.
void clear(iostate __state=goodbit)
[Re]sets the error state.
Template class basic_ios, virtual base class for all stream classes.
char_type fill() const
Retrieves the empty character.
locale imbue(const locale &__loc)
Moves to a new locale.
fmtflags flags() const
Access to format flags.
locale imbue(const locale &__loc)
Setting a new locale.
constexpr _Tp * __addressof(_Tp &__r) noexcept
Same as C++11 std::addressof.
constexpr tuple< _Elements &... > tie(_Elements &... __args) noexcept
tie
ISO C++ entities toplevel namespace is std.
basic_streambuf< _CharT, _Traits > * rdbuf() const
Accessing the underlying buffer.
basic_ios & copyfmt(const basic_ios &__rhs)
Copies fields of __rhs into this.
streamsize width() const
Flags access.
iostate exceptions() const
Throwing exceptions on errors.
streamsize precision() const
Flags access.
The actual work of input and output (interface).
Container class for localization functionality.The locale class is first a class wrapper for C librar...
locale getloc() const
Locale access.
void init(basic_streambuf< _CharT, _Traits > *__sb)
All setup is performed here.