37#pragma GCC system_header
41namespace std _GLIBCXX_VISIBILITY(default)
43_GLIBCXX_BEGIN_NAMESPACE_VERSION
45 template<
typename _CharT,
typename _Traits>
48 : _M_ok(false), _M_os(__os)
60 template<
typename _CharT,
typename _Traits>
61 template<
typename _ValueT>
72#ifndef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT
76 = use_facet<__num_put_type>(this->_M_ios_locale);
78 if (__np.
put(*
this, *
this, this->fill(), __v).failed())
84 __throw_exception_again;
94 template<
typename _CharT,
typename _Traits>
103 return _M_insert(
static_cast<long>(
static_cast<unsigned short>(__n)));
105 return _M_insert(
static_cast<long>(__n));
108 template<
typename _CharT,
typename _Traits>
109 basic_ostream<_CharT, _Traits>&
117 return _M_insert(
static_cast<long>(
static_cast<unsigned int>(__n)));
119 return _M_insert(
static_cast<long>(__n));
122 template<
typename _CharT,
typename _Traits>
123 basic_ostream<_CharT, _Traits>&
128 sentry __cerb(*
this);
129 if (__cerb && __sbin)
133 if (!__copy_streambufs(__sbin, this->
rdbuf()))
139 __throw_exception_again;
151 template<
typename _CharT,
typename _Traits>
152 basic_ostream<_CharT, _Traits>&
168 const int_type __put = this->
rdbuf()->sputc(__c);
169 if (traits_type::eq_int_type(__put, traits_type::eof()))
175 __throw_exception_again;
185 template<
typename _CharT,
typename _Traits>
186 basic_ostream<_CharT, _Traits>&
197 sentry __cerb(*
this);
203 if (this->
rdbuf()->sputn(__s, __n) != __n)
209 __throw_exception_again;
219 template<
typename _CharT,
typename _Traits>
237 if (this->
rdbuf()->pubsync() == -1)
243 __throw_exception_again;
254 template<
typename _CharT,
typename _Traits>
255 typename basic_ostream<_CharT, _Traits>::pos_type
260 pos_type __ret = pos_type(-1);
266 template<
typename _CharT,
typename _Traits>
269 seekp(pos_type __pos)
279 if (__p == pos_type(off_type(-1)))
285 template<
typename _CharT,
typename _Traits>
288 seekp(off_type __off, ios_base::seekdir __dir)
295 const pos_type __p = this->
rdbuf()->pubseekoff(__off, __dir,
299 if (__p == pos_type(off_type(-1)))
305 template<
typename _CharT,
typename _Traits>
321 __ptr_guard (_CharT *__ip): __p(__ip) { }
322 ~__ptr_guard() {
delete[] __p; }
323 _CharT* __get() {
return __p; }
324 } __pg (
new _CharT[__clen]);
326 _CharT *__ws = __pg.__get();
327 for (
size_t __i = 0; __i < __clen; ++__i)
328 __ws[__i] = __out.
widen(__s[__i]);
329 __ostream_insert(__out, __ws, __clen);
334 __throw_exception_again;
344#if _GLIBCXX_EXTERN_TEMPLATE
345 extern template class basic_ostream<char>;
356 extern template ostream& ostream::_M_insert(
long);
357 extern template ostream& ostream::_M_insert(
unsigned long);
358 extern template ostream& ostream::_M_insert(
bool);
359#ifdef _GLIBCXX_USE_LONG_LONG
360 extern template ostream& ostream::_M_insert(
long long);
361 extern template ostream& ostream::_M_insert(
unsigned long long);
363 extern template ostream& ostream::_M_insert(
double);
364 extern template ostream& ostream::_M_insert(
long double);
365 extern template ostream& ostream::_M_insert(
const void*);
367#ifdef _GLIBCXX_USE_WCHAR_T
377 extern template wostream& wostream::_M_insert(
long);
378 extern template wostream& wostream::_M_insert(
unsigned long);
379 extern template wostream& wostream::_M_insert(
bool);
380#ifdef _GLIBCXX_USE_LONG_LONG
381 extern template wostream& wostream::_M_insert(
long long);
382 extern template wostream& wostream::_M_insert(
unsigned long long);
384 extern template wostream& wostream::_M_insert(
double);
385 extern template wostream& wostream::_M_insert(
long double);
386 extern template wostream& wostream::_M_insert(
const void*);
390_GLIBCXX_END_NAMESPACE_VERSION
basic_ostream< char > ostream
Base class for char output streams.
ISO C++ entities toplevel namespace is std.
ptrdiff_t streamsize
Integral type for I/O operation counts and buffer sizes.
basic_ostream< _CharT, _Traits > & ends(basic_ostream< _CharT, _Traits > &__os)
Write a null character into the output sequence.
basic_ostream< _CharT, _Traits > & endl(basic_ostream< _CharT, _Traits > &__os)
Write a newline and flush the stream.
basic_ostream< _CharT, _Traits > * tie() const
Fetches the current tied stream.
void setstate(iostate __state)
Sets additional flags in the error state.
bool good() const
Fast error checking.
char_type widen(char __c) const
Widens characters.
bool fail() const
Fast error checking.
basic_streambuf< _CharT, _Traits > * rdbuf() const
Accessing the underlying buffer.
bool bad() const
Fast error checking.
The actual work of input and output (interface).
Template class basic_ostream.
__ostream_type & write(const char_type *__s, streamsize __n)
Character string insertion.
pos_type tellp()
Getting the current write position.
__ostream_type & put(char_type __c)
Simple insertion.
__ostream_type & flush()
Synchronizing the stream buffer.
__ostream_type & seekp(pos_type)
Changing the current write position.
__ostream_type & operator<<(__ostream_type &(*__pf)(__ostream_type &))
Interface for manipulators.
Performs setup work for output streams.
sentry(basic_ostream< _CharT, _Traits > &__os)
The constructor performs preparatory work.
Basis for explicit traits specializations.
Thrown as part of forced unwinding.
_Ios_Fmtflags fmtflags
This is a bitmask type.
_Ios_Iostate iostate
This is a bitmask type.
static const fmtflags hex
Converts integer input or generates integer output in hexadecimal base.
static const seekdir cur
Request a seek relative to the current position within the sequence.
static const fmtflags basefield
A mask of dec|oct|hex. Useful for the 2-arg form of setf.
static const openmode out
Open for output. Default for ofstream and fstream.
fmtflags flags() const
Access to format flags.
static const iostate goodbit
Indicates all is well.
static const iostate badbit
Indicates a loss of integrity in an input or output sequence (such as an irrecoverable read error fro...
static const fmtflags oct
Converts integer input or generates integer output in octal base.
static const iostate failbit
Indicates that an input operation failed to read the expected characters, or that an output operation...
Primary class template num_put.
iter_type put(iter_type __s, ios_base &__io, char_type __fill, bool __v) const
Numeric formatting.