18#ifndef _STLP_STREAMBUF_C
19#define _STLP_STREAMBUF_C
21#ifndef _STLP_INTERNAL_STREAMBUF
29#if !defined (_STLP_MSVC) || (_STLP_MSVC >= 1300) || !defined (_STLP_USE_STATIC_LIB)
30template <
class _CharT,
class _Traits>
32 : _M_gbegin(0), _M_gnext(0), _M_gend(0),
33 _M_pbegin(0), _M_pnext(0), _M_pend(0),
39template <
class _CharT,
class _Traits>
43template <
class _CharT,
class _Traits>
52template <
class _CharT,
class _Traits>
56 const int_type __eof = _Traits::eof();
58 while (__result <
__n) {
59 if (_M_gnext < _M_gend) {
62 _Traits::copy(__s, _M_gnext, __chunk);
69 if (!_Traits::eq_int_type(
__c, __eof)) {
70 *__s = _Traits::to_char_type(
__c);
82template <
class _CharT,
class _Traits>
87 const int_type __eof = _Traits::eof();
89 while (__result <
__n) {
90 if (_M_pnext < _M_pend) {
93 _Traits::copy(_M_pnext, __s, __chunk);
99 else if (!_Traits::eq_int_type(this->overflow(_Traits::to_int_type(*__s)),
110template <
class _CharT,
class _Traits>
115 const int_type __eof = _Traits::eof();
117 while (__result <
__n) {
118 if (_M_pnext < _M_pend) {
121 _Traits::assign(_M_pnext, __chunk,
__c);
126 else if (!_Traits::eq_int_type(this->overflow(_Traits::to_int_type(
__c)),
135template <
class _CharT,
class _Traits>
140 if (_M_gend == _M_gnext)
141 return _Traits::eq_int_type(this->uflow(), __eof) ? __eof : this->sgetc();
144 return this->underflow();
148template <
class _CharT,
class _Traits>
151 return _Traits::eof();
154template <
class _CharT,
class _Traits>
157 return _Traits::eof();
160template <
class _CharT,
class _Traits>
163 return ( _Traits::eq_int_type(this->underflow(),_Traits::eof()) ?
165 _Traits::to_int_type(*_M_gnext++));
168template <
class _CharT,
class _Traits>
171{
return _Traits::eof(); }
173template <
class _CharT,
class _Traits>
178template <
class _CharT,
class _Traits>
182template <
class _CharT,
class _Traits>
186template <
class _CharT,
class _Traits>
191template <
class _CharT,
class _Traits>
197template <
class _CharT,
class _Traits>
virtual pos_type seekoff(off_type, ios_base::seekdir, ios_base::openmode=ios_base::in|ios_base::out)
virtual streamsize xsputn(const char_type *__s, streamsize __n)
virtual streamsize _M_xsputnc(char_type __c, streamsize __n)
virtual void imbue(const locale &)
virtual int_type underflow()
virtual streamsize xsgetn(char_type *__s, streamsize __n)
locale pubimbue(const locale &)
virtual int_type pbackfail(int_type=traits_type::eof())
virtual pos_type seekpos(pos_type, ios_base::openmode=ios_base::in|ios_base::out)
_Traits::off_type off_type
virtual ~basic_streambuf()
virtual int_type overflow(int_type=traits_type::eof())
virtual streamsize showmanyc()
_Traits::pos_type pos_type
_Traits::int_type int_type
virtual basic_streambuf< _CharT, _Traits > * setbuf(char_type *, streamsize)
#define _STLP_TYPENAME_ON_RETURN_TYPE
#define __STATIC_CAST(__x, __y)
#define _STLP_BEGIN_NAMESPACE
#define _STLP_END_NAMESPACE