aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/std/ostream
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/include/std/ostream')
-rw-r--r--libstdc++-v3/include/std/ostream53
1 files changed, 7 insertions, 46 deletions
diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream
index 942a5a4..dc859b1 100644
--- a/libstdc++-v3/include/std/ostream
+++ b/libstdc++-v3/include/std/ostream
@@ -44,6 +44,7 @@
#include <ios>
#include <locale>
+#include <bits/ostream_insert.h>
_GLIBCXX_BEGIN_NAMESPACE(std)
@@ -74,31 +75,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__num_put_type;
typedef ctype<_CharT> __ctype_type;
- template<typename _CharT2, typename _Traits2>
- friend basic_ostream<_CharT2, _Traits2>&
- operator<<(basic_ostream<_CharT2, _Traits2>&, _CharT2);
-
- template<typename _Traits2>
- friend basic_ostream<char, _Traits2>&
- operator<<(basic_ostream<char, _Traits2>&, char);
-
- template<typename _CharT2, typename _Traits2>
- friend basic_ostream<_CharT2, _Traits2>&
- operator<<(basic_ostream<_CharT2, _Traits2>&, const _CharT2*);
-
- template<typename _Traits2>
- friend basic_ostream<char, _Traits2>&
- operator<<(basic_ostream<char, _Traits2>&, const char*);
-
- template<typename _CharT2, typename _Traits2>
- friend basic_ostream<_CharT2, _Traits2>&
- operator<<(basic_ostream<_CharT2, _Traits2>&, const char*);
-
- template<typename _CharT2, typename _Traits2, typename _Alloc>
- friend basic_ostream<_CharT2, _Traits2>&
- operator<<(basic_ostream<_CharT2, _Traits2>&,
- const basic_string<_CharT2, _Traits2, _Alloc>&);
-
// [27.6.2.2] constructor/destructor
/**
* @brief Base constructor.
@@ -320,20 +296,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
this->setstate(ios_base::badbit);
}
- void
- _M_write(char_type __c, streamsize __n)
- {
- for (; __n > 0; --__n)
- {
- const int_type __put = this->rdbuf()->sputc(__c);
- if (traits_type::eq_int_type(__put, traits_type::eof()))
- {
- this->setstate(ios_base::badbit);
- break;
- }
- }
- }
-
/**
* @brief Character string insertion.
* @param s The array to insert.
@@ -407,9 +369,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _ValueT>
__ostream_type&
_M_insert(_ValueT __v);
-
- __ostream_type&
- _M_insert(const char_type* __s, streamsize __n);
};
/**
@@ -493,7 +452,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _CharT, typename _Traits>
inline basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
- { return __out._M_insert(&__c, 1); }
+ { return __ostream_insert(__out, &__c, 1); }
template<typename _CharT, typename _Traits>
inline basic_ostream<_CharT, _Traits>&
@@ -504,7 +463,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template <class _Traits>
inline basic_ostream<char, _Traits>&
operator<<(basic_ostream<char, _Traits>& __out, char __c)
- { return __out._M_insert(&__c, 1); }
+ { return __ostream_insert(__out, &__c, 1); }
// Signed and unsigned
template<class _Traits>
@@ -539,7 +498,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
if (!__s)
__out.setstate(ios_base::badbit);
else
- __out._M_insert(__s, static_cast<streamsize>(_Traits::length(__s)));
+ __ostream_insert(__out, __s,
+ static_cast<streamsize>(_Traits::length(__s)));
return __out;
}
@@ -555,7 +515,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
if (!__s)
__out.setstate(ios_base::badbit);
else
- __out._M_insert(__s, static_cast<streamsize>(_Traits::length(__s)));
+ __ostream_insert(__out, __s,
+ static_cast<streamsize>(_Traits::length(__s)));
return __out;
}