34 #ifndef _STREAMBUF_TCC 
   35 #define _STREAMBUF_TCC 1 
   37 #pragma GCC system_header 
   39 namespace std _GLIBCXX_VISIBILITY(default)
 
   41 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   43   template<
typename _CharT, 
typename _Traits>
 
   51       const streamsize __buf_len = this->egptr() - this->gptr();
 
   56           traits_type::copy(__s, this->gptr(), __len);
 
   59           this->__safe_gbump(__len);
 
   65           if (!traits_type::eq_int_type(__c, traits_type::eof()))
 
   67           traits_type::assign(*__s++, traits_type::to_char_type(__c));
 
   77   template<
typename _CharT, 
typename _Traits>
 
   85       const streamsize __buf_len = this->epptr() - this->pptr();
 
   90           traits_type::copy(this->pptr(), __s, __len);
 
   93           this->__safe_pbump(__len);
 
   98           int_type __c = this->overflow(traits_type::to_int_type(*__s));
 
   99           if (!traits_type::eq_int_type(__c, traits_type::eof()))
 
  114   template<
typename _CharT, 
typename _Traits>
 
  122       typename _Traits::int_type __c = __sbin->
sgetc();
 
  123       while (!_Traits::eq_int_type(__c, _Traits::eof()))
 
  125       __c = __sbout->
sputc(_Traits::to_char_type(__c));
 
  126       if (_Traits::eq_int_type(__c, _Traits::eof()))
 
  137   template<
typename _CharT, 
typename _Traits>
 
  139     __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin,
 
  140               basic_streambuf<_CharT, _Traits>* __sbout)
 
  143       return __copy_streambufs_eof(__sbin, __sbout, __ineof);
 
  148 #if _GLIBCXX_EXTERN_TEMPLATE 
  149   extern template class basic_streambuf<char>;
 
  152     __copy_streambufs(basic_streambuf<char>*,
 
  153               basic_streambuf<char>*);
 
  156     __copy_streambufs_eof(basic_streambuf<char>*,
 
  157               basic_streambuf<char>*, 
bool&);
 
  159 #ifdef _GLIBCXX_USE_WCHAR_T 
  160   extern template class basic_streambuf<wchar_t>;
 
  163     __copy_streambufs(basic_streambuf<wchar_t>*,
 
  164               basic_streambuf<wchar_t>*);
 
  167     __copy_streambufs_eof(basic_streambuf<wchar_t>*,
 
  168               basic_streambuf<wchar_t>*, 
bool&);
 
  172 _GLIBCXX_END_NAMESPACE_VERSION
 
int_type snextc()
Getting the next character. 
 
virtual streamsize xsputn(const char_type *__s, streamsize __n)
Multiple character insertion. 
 
int_type sgetc()
Getting the next character. 
 
virtual streamsize xsgetn(char_type *__s, streamsize __n)
Multiple character extraction. 
 
traits_type::int_type int_type
 
const _Tp & min(const _Tp &, const _Tp &)
This does what you think it does. 
 
The actual work of input and output (interface). 
 
int_type sputc(char_type __c)
Entry point for all single-character output functions. 
 
ptrdiff_t streamsize
Integral type for I/O operation counts and buffer sizes.