streambuf
class builtinbuf : public streambuf {
virtual streambuf* setbuf(char*, int);
struct edit_streambuf : public streambuf {
class indirectbuf : public streambuf {
streambuf *_get_stream; // Optional cache for get_stream().
streambuf *_put_stream; // Optional cache for put_stream().
streambuf *get_stream()
streambuf *put_stream()
virtual streambuf *lookup_stream(int/*mode*/) { return NULL; } // ERROR!
indirectbuf(streambuf *get=NULL, streambuf *put=NULL, int delete_mode=0);
ostream& operator<<(streambuf*);
streambuf* ostreambuf() const { return _strbuf; }
istream(streambuf* sb, ostream*tied=NULL);
istream& get(streambuf& sb, char delim = '\n');
streambuf* istreambuf() const { return _strbuf; }
istream& operator>>(streambuf*);
iostream(streambuf* sb, ostream*tied=NULL);
ostream(streambuf* sb, ostream* tied=NULL);
streambuf *sbuf;
general_parsebuf(streambuf *buf, int delete_arg_buf = 0);
class parsebuf : public streambuf {
virtual streambuf* setbuf(char* p, int len);
register streambuf *sb = is.rdbuf ();
streambuf *sb = is.rdbuf ();
streambuf* rdbuf() const { return _strbuf; }
streambuf* rdbuf(streambuf *_s) {
streambuf *_old = _strbuf; _strbuf = _s; clear (); return _old; }
inline ios(streambuf* sb = 0, ostream* tie_to = 0);
inline void init(streambuf* sb, ostream* tie = 0);
friend class streambuf;
streammarker(streambuf *sb);
struct streambuf : public _IO_FILE { // protected??
static streambuf* _list_all; /* List of open streambufs. */
streambuf(int flags=0);
virtual ~streambuf();
virtual streambuf* setbuf(char* p, int len);
class filebuf : public streambuf {
virtual streambuf* setbuf(char* p, int len);
inline void ios::init(streambuf* sb, ostream* tie_to) {
inline ios::ios(streambuf* sb, ostream* tie_to) { init(sb, tie_to); }
class ostream; class streambuf;
streambuf *_strbuf;
class strstreambuf : public streambuf
: streambuf(), __sock(sock), __alsize(n), __pu(NULL), __po(NULL)
class socketstreambuf : public streambuf {
streambuf* builtinbuf::setbuf(char *buf, int n)
{ return (streambuf*)_IO_SETBUF (this, buf, n); }
streambuf* filebuf::setbuf(char* p, int len)
return (streambuf*)_IO_file_setbuf (this, p, len);
return streambuf::xsgetn(s, n);
streambuf *gbuf = get_stream();
streambuf *pbuf = put_stream();
indirectbuf::indirectbuf(streambuf *get, streambuf *put, int delete_mode)
: streambuf()
streambuf *gbuf = (select & ios::in) ? get_stream() : (streambuf*)NULL;
streambuf *pbuf = (select & ios::out) ? put_stream() : (streambuf*)NULL;
streambuf *gbuf = (select & ios::in) ? get_stream() : (streambuf*)NULL;
streambuf *pbuf = (select & ios::out) ? put_stream() : (streambuf*)NULL;
iostream::iostream(streambuf* sb, ostream* tied)
register streambuf* sb = _strbuf;
streambuf *sb = rdbuf ();
register streambuf* sb = _strbuf;
register streambuf* sb = stream.rdbuf();
streambuf *_strbuf = istr->_strbuf;
istream& istream::operator>>(register streambuf* sbuf)
register streambuf* inbuf = rdbuf();
register streambuf *sb = _strbuf;
istream::istream(streambuf *sb, ostream* tied)
register streambuf* sbuf = stream.rdbuf();
int skip_ws(streambuf* sb)
register streambuf* sbuf = rdbuf();
register streambuf *sbuf = rdbuf();
ostream& ostream::operator<<(register streambuf* sbuf)
register streambuf* outbuf = _strbuf;
ostream::ostream(streambuf* sb, ostream* tied)
streambuf *sb = rdbuf();
streambuf *sb = rdbuf();
streambuf *sbuf = rdbuf();
char *_sb_readline (streambuf *sb, long& total, char terminator)
istream& istream::get(streambuf& sb, char delim /* = '\n' */)
register streambuf* isb = rdbuf();
general_parsebuf::general_parsebuf(streambuf *buf, int delete_arg_buf)
register streambuf *sb = sbuf;
streambuf* parsebuf::setbuf(char*, int)
int streambuf::vform(char const *fmt0, _IO_va_list ap)
int streambuf::form(char const *format ...)
long streambuf::sgetline(char* buf, _IO_size_t n, char delim, int extract_delim)
int streambuf::vscan(char const *fmt0, _IO_va_list ap, ios* stream /* = NULL*/)
int streambuf::scan(char const *format ...)
return streambuf::xsputn(s, n);
cin.base._strbuf = (streambuf*)&_IO_stdin_buf;
cout.base._strbuf = (streambuf*)&_IO_stdout_buf;
cerr.base._strbuf = (streambuf*)&_IO_stderr_buf;
clog.base._strbuf = (streambuf*)&_IO_stderr_buf;
cin.base._strbuf = (streambuf*)_IO_stdin;
cout.base._strbuf = (streambuf*)_IO_stdout;
cerr.base._strbuf = (streambuf*)_IO_stderr;
clog.base._strbuf = (streambuf*)_IO_stderr;
(streambuf*)&SBUF, TIE, 0, ios::skipws|ios::dec|EXTRA_FLAGS, ' ',0,0,6
(streambuf*)&SBUF, TIE, 0, ios::dont_close|ios::dec|ios::skipws|EXTRA_FLAGS, ' ',0,0,6
streampos streambuf::seekpos(streampos pos, int mode)
streampos streambuf::sseekpos(streampos pos, int mode)
void streambuf::setb(char* b, char* eb, int a)
int streambuf::doallocate() { return _IO_default_doallocate(this); }
void streambuf::doallocbuf() { _IO_doallocbuf(this); }
{ return ((streambuf*)fp)->overflow(c); }
{ return ((streambuf*)fp)->underflow(); }
{ return ((streambuf*)fp)->xsputn((const char*)s, n); }
{ return ((streambuf*)fp)->xsgetn((char*)s, n); }
{ return ((streambuf*)fp)->sys_close(); }
{ return ((streambuf*)fp)->sys_stat(b); }
{ return ((streambuf*)fp)->doallocate(); }
return ((streambuf*)fp)->seekoff(pos, (ios::seek_dir)dir, mode);
return ((streambuf*)fp)->seekpos(pos, mode);
{ return ((streambuf*)fp)->pbackfail(ch); }
{ ((streambuf*)fp)->~streambuf(); }
{ return ((streambuf*)fp)->sys_read((char*)buf, n); }
{ return ((streambuf*)fp)->sys_write((const char*)buf, n); }
{ return ((streambuf*)fp)->sync(); }
{ return ((streambuf*)fp)->sys_seek(off, (_seek_dir)dir); }
{ return ((streambuf*)fp)->setbuf(buf, n); }
streambuf::streambuf(int flags)
streambuf::~streambuf()
streambuf::seekoff(streamoff, _seek_dir, int /*=ios::in|ios::out*/)
streambuf::sseekoff(streamoff o , _seek_dir d, int m /*=ios::in|ios::out*/)
int streambuf::sputbackc(char c)
int streambuf::sungetc()
void streambuf::collumn(int c)
int streambuf::get_column()
int streambuf::set_column(int i)
int streambuf::flush_all() { return _IO_flush_all (); }
void streambuf::flush_all_linebuffered()
int streambuf::sys_stat(void *)
streamsize streambuf::sys_read(char* /*buf*/, streamsize /*size*/)
streamsize streambuf::sys_write(const char* /*buf*/, streamsize /*size*/)
streampos streambuf::sys_seek(streamoff, _seek_dir)
int streambuf::sys_close() { return 0; /* Suceess; do nothing */ }
int streambuf::showmanyc()
void streambuf::imbue(void *)
streammarker::streammarker(streambuf *sb)
int streambuf::seekmark(streammarker& mark, int delta /* = 0 */)
void streambuf::_un_link() { _IO_un_link(reinterpret_cast<_IO_FILE_plus*>(this)); }
void streambuf::_link_in() { _IO_link_in(reinterpret_cast<_IO_FILE_plus*>(this)); }
int streambuf::switch_to_put_mode()
int __overflow(streambuf* sb, int c)
int streambuf::underflow()
int streambuf::uflow()
int streambuf::overflow(int /* = EOF */)
streamsize streambuf::xsputn(register const char* s, streamsize n)
streamsize streambuf::xsgetn(char* s, streamsize n)
int streambuf::ignore(int n)
int streambuf::sync()
int streambuf::pbackfail(int c)
streambuf* streambuf::setbuf(char* p, int len)
streammarker(streambuf *sb);