#ifndef STREAMBUF_
#define STREAMBUF_
namespace std {
class streambuf
{
public:
static const int eof = -1;
virtual ~streambuf()
{
}
virtual int sync()
{
return 0;
}
char* eback() const
{
return in_beg;
}
char* gptr() const
{
return in_cur;
}
char* egptr() const
{
return in_end;
}
void setg(char* beg, char* next, char* end)
{
this->in_beg = beg;
this->in_cur = next;
this->in_end = end;
}
char* pbase() const
{
return out_beg;
}
char* pptr() const
{
return out_cur;
}
char* epptr() const
{
return out_end;
}
void setp(char* beg, char* end)
{
this->out_beg = beg;
this->out_cur = beg;
this->out_end = end;
}
void pbump(int n)
{
out_cur += n;
}
virtual int overflow(int c = eof)
{
(void) c;
return eof;
}
virtual int underflow()
{
return eof;
}
private:
char* in_beg;
char* in_cur;
char* in_end;
char* out_beg;
char* out_cur;
char* out_end;
};
}
#endif /*STREAMBUF_*/