Library: FastInfoset
Package: Streams
Header: Poco/FastInfoset/MemoryStream.h
This is an implementation of an unbuffered streambuf that works with a shallow copy of an input buffer
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;
TMemoryStreamBuf(
const char_type * pMemory,
std::size_t size
);
TMemoryStreamBuf(
char_type * pMemory,
std::size_t size
);
~TMemoryStreamBuf();
int_type overflow(
int_type c
);
int_type pbackfail(
int_type c
);
int_type uflow();
int_type underflow();
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
);