33 #ifndef _GLIBXX_STREAMBUF
34 #define _GLIBXX_STREAMBUF 1
36 #pragma GCC system_header
45 namespace std _GLIBCXX_VISIBILITY(default)
47 _GLIBCXX_BEGIN_NAMESPACE_VERSION
49 template<
typename _CharT,
typename _Traits>
51 __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*,
52 basic_streambuf<_CharT, _Traits>*,
bool&);
119 template<
typename _CharT,
typename _Traits>
120 class basic_streambuf
150 template<
bool _IsMove,
typename _CharT2>
151 friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
156 template<
typename _CharT2>
157 friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
162 template<
typename _CharT2,
typename _Traits2>
166 template<
typename _CharT2,
typename _Traits2,
typename _Alloc>
171 template<
typename _CharT2,
typename _Traits2,
typename _Alloc>
240 {
return this->
setbuf(__s, __n); }
253 {
return this->
seekoff(__off, __way, __mode); }
265 {
return this->
seekpos(__sp, __mode); }
287 return __ret ? __ret : this->
showmanyc();
300 int_type __ret = traits_type::eof();
301 if (__builtin_expect(!traits_type::eq_int_type(this->
sbumpc(),
303 __ret = this->
sgetc();
319 if (__builtin_expect(this->
gptr() < this->
egptr(),
true))
321 __ret = traits_type::to_int_type(*this->
gptr());
325 __ret = this->
uflow();
341 if (__builtin_expect(this->
gptr() < this->
egptr(),
true))
342 __ret = traits_type::to_int_type(*this->
gptr());
358 {
return this->
xsgetn(__s, __n); }
375 const bool __testpos = this->
eback() < this->
gptr();
376 if (__builtin_expect(!__testpos ||
377 !traits_type::eq(__c, this->
gptr()[-1]),
false))
378 __ret = this->
pbackfail(traits_type::to_int_type(__c));
382 __ret = traits_type::to_int_type(*this->
gptr());
400 if (__builtin_expect(this->
eback() < this->
gptr(),
true))
403 __ret = traits_type::to_int_type(*this->
gptr());
427 if (__builtin_expect(this->
pptr() < this->
epptr(),
true))
431 __ret = traits_type::to_int_type(__c);
434 __ret = this->
overflow(traits_type::to_int_type(__c));
451 {
return this->
xsputn(__s, __n); }
688 {
return traits_type::eof(); }
702 int_type __ret = traits_type::eof();
703 const bool __testeof = traits_type::eq_int_type(this->
underflow(),
707 __ret = traits_type::to_int_type(*this->
gptr());
725 {
return traits_type::eof(); }
769 {
return traits_type::eof(); }
771 #if _GLIBCXX_USE_DEPRECATED
816 __copy_streambufs_eof(basic_streambuf<char>* __sbin,
817 basic_streambuf<char>* __sbout,
bool& __ineof);
818 #ifdef _GLIBCXX_USE_WCHAR_T
821 __copy_streambufs_eof(basic_streambuf<wchar_t>* __sbin,
822 basic_streambuf<wchar_t>* __sbout,
bool& __ineof);
825 _GLIBCXX_END_NAMESPACE_VERSION