35 #define _OSTREAM_TCC 1 37 #ifdef _GLIBCXX_SYSHDR 38 #pragma GCC system_header 40 #pragma GCC diagnostic push 41 #pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template 45 namespace std _GLIBCXX_VISIBILITY(default)
47 _GLIBCXX_BEGIN_NAMESPACE_VERSION
49 template<
typename _CharT,
typename _Traits>
52 : _M_ok(false), _M_os(__os)
64 template<
typename _CharT,
typename _Traits>
65 template<
typename _ValueT>
76 #ifndef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT 80 = use_facet<__num_put_type>(this->_M_ios_locale);
82 if (__np.
put(*
this, *
this, this->fill(), __v).failed())
88 __throw_exception_again;
98 template<
typename _CharT,
typename _Traits>
107 return _M_insert(static_cast<long>(static_cast<unsigned short>(__n)));
109 return _M_insert(static_cast<long>(__n));
112 template<
typename _CharT,
typename _Traits>
121 return _M_insert(static_cast<long>(static_cast<unsigned int>(__n)));
123 return _M_insert(static_cast<long>(__n));
126 template<
typename _CharT,
typename _Traits>
133 if (__cerb && __sbin)
137 if (!__copy_streambufs(__sbin, this->
rdbuf()))
143 __throw_exception_again;
155 template<
typename _CharT,
typename _Traits>
173 if (traits_type::eq_int_type(__put, traits_type::eof()))
179 __throw_exception_again;
189 template<
typename _CharT,
typename _Traits>
207 if (this->
rdbuf()->sputn(__s, __n) != __n)
213 __throw_exception_again;
223 template<
typename _CharT,
typename _Traits>
241 if (this->
rdbuf()->pubsync() == -1)
247 __throw_exception_again;
258 template<
typename _CharT,
typename _Traits>
259 typename basic_ostream<_CharT, _Traits>::pos_type
270 template<
typename _CharT,
typename _Traits>
289 template<
typename _CharT,
typename _Traits>
309 template<
typename _CharT,
typename _Traits>
311 operator<<(basic_ostream<_CharT, _Traits>& __out,
const char* __s)
325 __ptr_guard (_CharT *__ip): __p(__ip) { }
326 ~__ptr_guard() {
delete[] __p; }
327 _CharT* __get() {
return __p; }
328 } __pg (
new _CharT[__clen]);
330 _CharT *__ws = __pg.__get();
331 for (
size_t __i = 0; __i < __clen; ++__i)
332 __ws[__i] = __out.widen(__s[__i]);
333 __ostream_insert(__out, __ws, __clen);
338 __throw_exception_again;
348 #if _GLIBCXX_EXTERN_TEMPLATE 360 extern template ostream& ostream::_M_insert(
long);
361 extern template ostream& ostream::_M_insert(
unsigned long);
362 extern template ostream& ostream::_M_insert(
bool);
363 #ifdef _GLIBCXX_USE_LONG_LONG 364 #pragma GCC diagnostic push 365 #pragma GCC diagnostic ignored "-Wlong-long" 366 extern template ostream& ostream::_M_insert(
long long);
367 extern template ostream& ostream::_M_insert(
unsigned long long);
368 #pragma GCC diagnostic pop 370 extern template ostream& ostream::_M_insert(
double);
371 extern template ostream& ostream::_M_insert(
long double);
372 extern template ostream& ostream::_M_insert(
const void*);
374 #ifdef _GLIBCXX_USE_WCHAR_T 384 extern template wostream& wostream::_M_insert(
long);
385 extern template wostream& wostream::_M_insert(
unsigned long);
386 extern template wostream& wostream::_M_insert(
bool);
387 #ifdef _GLIBCXX_USE_LONG_LONG 388 #pragma GCC diagnostic push 389 #pragma GCC diagnostic ignored "-Wlong-long" 390 extern template wostream& wostream::_M_insert(
long long);
391 extern template wostream& wostream::_M_insert(
unsigned long long);
392 #pragma GCC diagnostic pop 394 extern template wostream& wostream::_M_insert(
double);
395 extern template wostream& wostream::_M_insert(
long double);
396 extern template wostream& wostream::_M_insert(
const void*);
400 _GLIBCXX_END_NAMESPACE_VERSION
403 #pragma GCC diagnostic pop static const fmtflags oct
Converts integer input or generates integer output in octal base.
basic_streambuf< _CharT, _Traits > * rdbuf() const
Accessing the underlying buffer.
__ostream_type & put(char_type __c)
Simple insertion.
bool good() const
Fast error checking.
static const fmtflags basefield
A mask of dec|oct|hex. Useful for the 2-arg form of setf.
static const iostate badbit
Indicates a loss of integrity in an input or output sequence (such as an irrecoverable read error fro...
static const openmode out
Open for output. Default for ofstream and fstream.
static const fmtflags hex
Converts integer input or generates integer output in hexadecimal base.
static const iostate goodbit
Indicates all is well.
iter_type put(iter_type __s, ios_base &__io, char_type __fill, bool __v) const
Numeric formatting.
fmtflags flags() const
Access to format flags.
_Traits::off_type off_type
__ostream_type & flush()
Synchronizing the stream buffer.
__ostream_type & operator<<(__ostream_type &(*__pf)(__ostream_type &))
Interface for manipulators.
Template class basic_ostream.
ISO C++ entities toplevel namespace is std.
static const seekdir cur
Request a seek relative to the current position within the sequence.
sentry(basic_ostream< _CharT, _Traits > &__os)
The constructor performs preparatory work.
_Traits::pos_type pos_type
Primary class template num_put.This facet encapsulates the code to convert a number to a string...
basic_ostream< _CharT, _Traits > & ends(basic_ostream< _CharT, _Traits > &__os)
Write a null character into the output sequence.
static const iostate failbit
Indicates that an input operation failed to read the expected characters, or that an output operation...
__ostream_type & seekp(pos_type)
Changing the current write position.
Thrown as part of forced unwinding.A magic placeholder class that can be caught by reference to recog...
Basis for explicit traits specializations.
Performs setup work for output streams.
ptrdiff_t streamsize
Integral type for I/O operation counts and buffer sizes.
pos_type tellp()
Getting the current write position.
bool fail() const
Fast error checking.
void setstate(iostate __state)
Sets additional flags in the error state.
basic_ostream< _CharT, _Traits > * tie() const
Fetches the current tied stream.
bool bad() const
Fast error checking.
_Traits::int_type int_type
basic_ostream< _CharT, _Traits > & endl(basic_ostream< _CharT, _Traits > &__os)
Write a newline and flush the stream.
__ostream_type & write(const char_type *__s, streamsize __n)
Character string insertion.