37 #define _OSTREAM_TCC 1
39 #pragma GCC system_header
43 namespace std _GLIBCXX_VISIBILITY(default)
45 _GLIBCXX_BEGIN_NAMESPACE_VERSION
47 template<
typename _CharT,
typename _Traits>
50 : _M_ok(false), _M_os(__os)
62 template<
typename _CharT,
typename _Traits>
63 template<
typename _ValueT>
75 if (__np.
put(*
this, *
this, this->fill(), __v).failed())
81 __throw_exception_again;
91 template<
typename _CharT,
typename _Traits>
92 basic_ostream<_CharT, _Traits>&
100 return _M_insert(static_cast<long>(static_cast<unsigned short>(__n)));
102 return _M_insert(static_cast<long>(__n));
105 template<
typename _CharT,
typename _Traits>
114 return _M_insert(static_cast<long>(static_cast<unsigned int>(__n)));
116 return _M_insert(static_cast<long>(__n));
119 template<
typename _CharT,
typename _Traits>
126 if (__cerb && __sbin)
130 if (!__copy_streambufs(__sbin, this->
rdbuf()))
136 __throw_exception_again;
148 template<
typename _CharT,
typename _Traits>
165 const int_type __put = this->
rdbuf()->sputc(__c);
166 if (traits_type::eq_int_type(__put, traits_type::eof()))
172 __throw_exception_again;
182 template<
typename _CharT,
typename _Traits>
202 __throw_exception_again;
210 template<
typename _CharT,
typename _Traits>
221 if (this->
rdbuf() && this->
rdbuf()->pubsync() == -1)
227 __throw_exception_again;
236 template<
typename _CharT,
typename _Traits>
237 typename basic_ostream<_CharT, _Traits>::pos_type
241 pos_type __ret = pos_type(-1);
250 __throw_exception_again;
257 template<
typename _CharT,
typename _Traits>
269 const pos_type __p = this->
rdbuf()->pubseekpos(__pos,
273 if (__p == pos_type(off_type(-1)))
280 __throw_exception_again;
289 template<
typename _CharT,
typename _Traits>
292 seekp(off_type __off, ios_base::seekdir __dir)
301 const pos_type __p = this->
rdbuf()->pubseekoff(__off, __dir,
305 if (__p == pos_type(off_type(-1)))
312 __throw_exception_again;
321 template<
typename _CharT,
typename _Traits>
323 operator<<(basic_ostream<_CharT, _Traits>& __out,
const char* __s)
337 __ptr_guard (_CharT *__ip): __p(__ip) { }
338 ~__ptr_guard() {
delete[] __p; }
339 _CharT* __get() {
return __p; }
340 } __pg (
new _CharT[__clen]);
342 _CharT *__ws = __pg.__get();
343 for (
size_t __i = 0; __i < __clen; ++__i)
344 __ws[__i] = __out.widen(__s[__i]);
345 __ostream_insert(__out, __ws, __clen);
350 __throw_exception_again;
360 #if _GLIBCXX_EXTERN_TEMPLATE
361 extern template class basic_ostream<char>;
372 extern template ostream& ostream::_M_insert(
long);
373 extern template ostream& ostream::_M_insert(
unsigned long);
374 extern template ostream& ostream::_M_insert(
bool);
375 #ifdef _GLIBCXX_USE_LONG_LONG
376 extern template ostream& ostream::_M_insert(
long long);
377 extern template ostream& ostream::_M_insert(
unsigned long long);
379 extern template ostream& ostream::_M_insert(
double);
380 extern template ostream& ostream::_M_insert(
long double);
381 extern template ostream& ostream::_M_insert(
const void*);
383 #ifdef _GLIBCXX_USE_WCHAR_T
384 extern template class basic_ostream<wchar_t>;
393 extern template wostream& wostream::_M_insert(
long);
394 extern template wostream& wostream::_M_insert(
unsigned long);
395 extern template wostream& wostream::_M_insert(
bool);
396 #ifdef _GLIBCXX_USE_LONG_LONG
397 extern template wostream& wostream::_M_insert(
long long);
398 extern template wostream& wostream::_M_insert(
unsigned long long);
400 extern template wostream& wostream::_M_insert(
double);
401 extern template wostream& wostream::_M_insert(
long double);
402 extern template wostream& wostream::_M_insert(
const void*);
406 _GLIBCXX_END_NAMESPACE_VERSION