Library: Foundation
Package: Streams
Header: Poco/BufferedBidirectionalStreamBuf.h
Description
This is an implementation of a buffered bidirectional streambuf that greatly simplifies the implementation of custom streambufs of various kinds. Derived classes only have to override the methods readFromDevice() or writeToDevice().
In contrast to BasicBufferedStreambuf, this class supports simultaneous read and write access, so in addition to istream and ostream this streambuf can also be used for implementing an iostream.
Inheritance
Direct Base Classes: std::basic_streambuf < ch, tr >
All Base Classes: std::basic_streambuf < ch, tr >
Member Summary
Member Functions: getMode, overflow, resetBuffers, setMode, sync, underflow
Types
Allocator
typedef ba Allocator;
Base
typedef std::basic_streambuf < ch, tr > Base;
IOS
typedef std::basic_ios < ch, tr > IOS;
char_traits
typedef tr char_traits;
char_type
typedef ch char_type;
int_type
typedef typename Base::int_type int_type;
off_type
typedef typename Base::off_type off_type;
openmode
typedef typename IOS::openmode openmode;
pos_type
typedef typename Base::pos_type pos_type;
Constructors
BasicBufferedBidirectionalStreamBuf
BasicBufferedBidirectionalStreamBuf(
std::streamsize bufferSize,
openmode mode
);
Destructor
~BasicBufferedBidirectionalStreamBuf
~BasicBufferedBidirectionalStreamBuf();
Member Functions
overflow
virtual int_type overflow(
int_type c
);
sync
virtual int sync();
underflow
virtual int_type underflow();
getMode
openmode getMode() const;
resetBuffers
void resetBuffers();
setMode
void setMode(
openmode mode
);