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 _M_ctype = std::__try_use_facet<__ctype_type>(__loc);
160 _M_num_put = std::__try_use_facet<__num_put_type>(__loc);
161 _M_num_get = std::__try_use_facet<__num_get_type>(__loc);
166 #if _GLIBCXX_EXTERN_TEMPLATE 167 extern template class basic_ios<char>;
169 #ifdef _GLIBCXX_USE_WCHAR_T 170 extern template class basic_ios<wchar_t>;
174 _GLIBCXX_END_NAMESPACE_VERSION
locale imbue(const locale &__loc)
Moves to a new locale.
basic_ios & copyfmt(const basic_ios &__rhs)
Copies fields of __rhs into this.
locale getloc() const
Locale access.
Template class basic_ios, virtual base class for all stream classes.
constexpr _Tp * __addressof(_Tp &__r) noexcept
Same as C++11 std::addressof.
void init(basic_streambuf< _CharT, _Traits > *__sb)
All setup is performed here.
streamsize precision() const
Flags access.
basic_ostream< _CharT, _Traits > * tie() const
Fetches the current tied stream.
streamsize width() const
Flags access.
basic_streambuf< _CharT, _Traits > * rdbuf() const
Accessing the underlying buffer.
Container class for localization functionality.The locale class is first a class wrapper for C librar...
locale imbue(const locale &__loc)
Setting a new locale.
void clear(iostate __state=goodbit)
[Re]sets the error state.
ISO C++ entities toplevel namespace is std.
constexpr tuple< _Elements &... > tie(_Elements &... __args) noexcept
Return a tuple of lvalue references bound to the arguments.
fmtflags flags() const
Access to format flags.
iostate exceptions() const
Throwing exceptions on errors.
The actual work of input and output (interface).
char_type fill() const
Retrieves the empty character.