35 #define _OSTREAM_TCC 1 37 #pragma GCC system_header 41 namespace 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>
73 if (__np.
put(*
this, *
this, this->fill(), __v).failed())
79 __throw_exception_again;
89 template<
typename _CharT,
typename _Traits>
98 return _M_insert(static_cast<long>(static_cast<unsigned short>(__n)));
100 return _M_insert(static_cast<long>(__n));
103 template<
typename _CharT,
typename _Traits>
112 return _M_insert(static_cast<long>(static_cast<unsigned int>(__n)));
114 return _M_insert(static_cast<long>(__n));
117 template<
typename _CharT,
typename _Traits>
124 if (__cerb && __sbin)
128 if (!__copy_streambufs(__sbin, this->
rdbuf()))
134 __throw_exception_again;
146 template<
typename _CharT,
typename _Traits>
163 const int_type __put = this->
rdbuf()->sputc(__c);
164 if (traits_type::eq_int_type(__put, traits_type::eof()))
170 __throw_exception_again;
180 template<
typename _CharT,
typename _Traits>
200 __throw_exception_again;
208 template<
typename _CharT,
typename _Traits>
219 if (this->
rdbuf() && this->
rdbuf()->pubsync() == -1)
225 __throw_exception_again;
234 template<
typename _CharT,
typename _Traits>
235 typename basic_ostream<_CharT, _Traits>::pos_type
239 pos_type __ret = pos_type(-1);
248 __throw_exception_again;
255 template<
typename _CharT,
typename _Traits>
267 const pos_type __p = this->
rdbuf()->pubseekpos(__pos,
271 if (__p == pos_type(off_type(-1)))
278 __throw_exception_again;
287 template<
typename _CharT,
typename _Traits>
290 seekp(off_type __off, ios_base::seekdir __dir)
299 const pos_type __p = this->
rdbuf()->pubseekoff(__off, __dir,
303 if (__p == pos_type(off_type(-1)))
310 __throw_exception_again;
319 template<
typename _CharT,
typename _Traits>
321 operator<<(basic_ostream<_CharT, _Traits>& __out,
const char* __s)
335 __ptr_guard (_CharT *__ip): __p(__ip) { }
336 ~__ptr_guard() {
delete[] __p; }
337 _CharT* __get() {
return __p; }
338 } __pg (
new _CharT[__clen]);
340 _CharT *__ws = __pg.__get();
341 for (
size_t __i = 0; __i < __clen; ++__i)
342 __ws[__i] = __out.widen(__s[__i]);
343 __ostream_insert(__out, __ws, __clen);
348 __throw_exception_again;
358 #if _GLIBCXX_EXTERN_TEMPLATE 370 extern template ostream& ostream::_M_insert(
long);
371 extern template ostream& ostream::_M_insert(
unsigned long);
372 extern template ostream& ostream::_M_insert(
bool);
373 #ifdef _GLIBCXX_USE_LONG_LONG 374 extern template ostream& ostream::_M_insert(
long long);
375 extern template ostream& ostream::_M_insert(
unsigned long long);
377 extern template ostream& ostream::_M_insert(
double);
378 extern template ostream& ostream::_M_insert(
long double);
379 extern template ostream& ostream::_M_insert(
const void*);
381 #ifdef _GLIBCXX_USE_WCHAR_T 391 extern template wostream& wostream::_M_insert(
long);
392 extern template wostream& wostream::_M_insert(
unsigned long);
393 extern template wostream& wostream::_M_insert(
bool);
394 #ifdef _GLIBCXX_USE_LONG_LONG 395 extern template wostream& wostream::_M_insert(
long long);
396 extern template wostream& wostream::_M_insert(
unsigned long long);
398 extern template wostream& wostream::_M_insert(
double);
399 extern template wostream& wostream::_M_insert(
long double);
400 extern template wostream& wostream::_M_insert(
const void*);
404 _GLIBCXX_END_NAMESPACE_VERSION
iter_type put(iter_type __s, ios_base &__io, char_type __fill, bool __v) const
Numeric formatting.
sentry(basic_ostream< _CharT, _Traits > &__os)
The constructor performs preparatory work.
basic_ostream< _CharT, _Traits > & endl(basic_ostream< _CharT, _Traits > &__os)
Write a newline and flush the stream.
Primary class template num_put.This facet encapsulates the code to convert a number to a string...
static const fmtflags oct
Converts integer input or generates integer output in octal base.
bool good() const
Fast error checking.
Template class basic_ostream.
fmtflags flags() const
Access to format flags.
basic_ostream< _CharT, _Traits > & ends(basic_ostream< _CharT, _Traits > &__os)
Write a null character into the output sequence.
static const fmtflags basefield
A mask of dec|oct|hex. Useful for the 2-arg form of setf.
bool fail() const
Fast error checking.
The actual work of input and output (interface).
__ostream_type & seekp(pos_type)
Changing the current write position.
static const iostate failbit
Indicates that an input operation failed to read the expected characters, or that an output operation...
static const seekdir cur
Request a seek relative to the current position within the sequence.
__ostream_type & write(const char_type *__s, streamsize __n)
Character string insertion.
void _M_write(const char_type *__s, streamsize __n)
Core write functionality, without sentry.
static const iostate goodbit
Indicates all is well.
Performs setup work for output streams.
Basis for explicit traits specializations.
void setstate(iostate __state)
Sets additional flags in the error state.
__ostream_type & operator<<(__ostream_type &(*__pf)(__ostream_type &))
Interface for manipulators.
Thrown as part of forced unwinding.A magic placeholder class that can be caught by reference to recog...
__ostream_type & flush()
Synchronizing the stream buffer.
basic_streambuf< _CharT, _Traits > * rdbuf() const
Accessing the underlying buffer.
static const openmode out
Open for output. Default for ofstream and fstream.
pos_type tellp()
Getting the current write position.
static const iostate badbit
Indicates a loss of integrity in an input or output sequence (such as an irrecoverable read error fro...
__ostream_type & put(char_type __c)
Simple insertion.
ISO C++ entities toplevel namespace is std.
ptrdiff_t streamsize
Integral type for I/O operation counts and buffer sizes.
static const fmtflags hex
Converts integer input or generates integer output in hexadecimal base.
basic_ostream< _CharT, _Traits > * tie() const
Fetches the current tied stream.