Library: Foundation
Package: Streams
Header: Poco/UnbufferedStreamBuf.h
This is an implementation of an unbuffered streambuf that greatly simplifies the implementation of custom streambufs of various kinds. Derived classes only have to override the methods readFromDevice() or writeToDevice().
Direct Base Classes: std::basic_streambuf < ch, tr >
All Base Classes: std::basic_streambuf < ch, tr >
Member Functions: charToInt, overflow, pbackfail, uflow, underflow, xsgetn
typedef std::basic_streambuf < ch, tr > Base;
typedef std::basic_ios < ch, tr > IOS;
typedef tr char_traits;
typedef ch char_type;
typedef typename Base::int_type int_type;
typedef typename Base::off_type off_type;
typedef typename IOS::openmode openmode;
typedef typename Base::pos_type pos_type;
virtual int_type overflow(
int_type c
);
virtual int_type pbackfail(
int_type c
);
virtual int_type uflow();
virtual int_type underflow();
virtual std::streamsize xsgetn(
char_type * p,
std::streamsize count
);
Some platforms (for example, Compaq C++) have buggy implementations of xsgetn that handle null buffers incorrectly. Anyway, it does not hurt to provide an optimized implementation of xsgetn for this streambuf implementation.
static int_type charToInt(
char_type c
);