SourcePro® API Reference Guide

 
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions
RWByteToStreambufOutputStreamImp Class Reference

Concrete class connecting a binary stream to an iostreams narrow character buffer. More...

#include <rw/stream/RWByteToStreambufOutputStreamImp.h>

Inheritance diagram for RWByteToStreambufOutputStreamImp:
RWByteOutputStreamImp RWOutputStreamImp RWStreamImp RWBodyBase RWTCountingBody< RWMutexLock > RWTMonitor< RWMutexLock >

Public Member Functions

virtual ~RWByteToStreambufOutputStreamImp ()
 
virtual void close ()
 
virtual void flush ()
 
virtual bool isBad () const
 
virtual bool isFail () const
 
virtual bool isGood () const
 
virtual void write (RWByte byteValue)
 
virtual void write (const RWByte *byteArray, RWSize numBytes)
 
- Public Member Functions inherited from RWByteOutputStreamImp
virtual ~RWByteOutputStreamImp ()
 
virtual RWByteOutputStream acquire ()
 
virtual void release ()
 
- Public Member Functions inherited from RWOutputStreamImp
virtual ~RWOutputStreamImp ()
 
- Public Member Functions inherited from RWStreamImp
virtual ~RWStreamImp ()
 

Static Public Member Functions

static RWByteOutputStream make (std::streambuf &sink)
 

Protected Member Functions

 RWByteToStreambufOutputStreamImp (std::streambuf &sinkBuff)
 
std::streambuf & getSinkBuff ()
 
const std::streambuf & getSinkBuff () const
 
- Protected Member Functions inherited from RWByteOutputStreamImp
 RWByteOutputStreamImp ()
 
- Protected Member Functions inherited from RWOutputStreamImp
 RWOutputStreamImp ()
 
- Protected Member Functions inherited from RWStreamImp
 RWStreamImp ()
 
- Protected Member Functions inherited from RWBodyBase
 RWBodyBase (void)
 
 RWBodyBase (RWStaticCtor)
 
 RWBodyBase (const RWBodyBase &second)
 
virtual ~RWBodyBase (void)
 
RWBodyBaseoperator= (const RWBodyBase &second)
 
- Protected Member Functions inherited from RWTCountingBody< RWMutexLock >
 RWTCountingBody (unsigned initCount=0)
 
 RWTCountingBody (RWStaticCtor)
 
 RWTCountingBody (const RWTCountingBody< RWMutexLock > &second)
 
RWTCountingBody< RWMutexLock > & operator= (const RWTCountingBody< RWMutexLock > &second)
 
 ~RWTCountingBody (void)
 
unsigned addReference (void)
 
unsigned references (void) const
 
unsigned removeReference (void)
 
- Protected Member Functions inherited from RWTMonitor< RWMutexLock >
 RWTMonitor ()
 
 RWTMonitor (RWStaticCtor)
 
 RWTMonitor (const RWTMonitor< RWMutexLock > &second)
 
 ~RWTMonitor ()
 
void acquire ()
 
bool isAcquired () const
 
RWTMonitor< RWMutexLock > & monitor () const
 
RWMutexLockmutex ()
 
RWTMonitor< RWMutexLock > & operator= (const RWTMonitor< RWMutexLock > &)
 
void release ()
 
bool tryAcquire ()
 

Additional Inherited Members

- Protected Types inherited from RWTCountingBody< RWMutexLock >
typedef RWTLockGuard< RWTMonitor< RWMutexLock > > LockGuard
 
typedef RWTTryLockGuard< RWTMonitor< RWMutexLock > > TryLockGuard
 
typedef RWTUnlockGuard< RWTMonitor< RWMutexLock > > UnlockGuard
 
- Protected Types inherited from RWTMonitor< RWMutexLock >
typedef RWTLockGuard< RWTMonitor< RWMutexLock > > LockGuard
 
typedef RWTTryLockGuard< RWTMonitor< RWMutexLock > > TryLockGuard
 
typedef RWTUnlockGuard< RWTMonitor< RWMutexLock > > UnlockGuard
 

Detailed Description

Concrete class connecting a binary stream to an iostreams narrow character buffer. The iostreams buffer is used as the sink for the data written to the binary stream. The iostreams buffer must be opened in binary mode. Implements the body idiom from the handle-body pattern.

Constructor & Destructor Documentation

virtual RWByteToStreambufOutputStreamImp::~RWByteToStreambufOutputStreamImp ( )
virtual

Destructor.

RWByteToStreambufOutputStreamImp::RWByteToStreambufOutputStreamImp ( std::streambuf &  sinkBuff)
inlineprotected

Initializes the reference to the iostreams std::streambuf, used as the sink of bytes.

Parameters
sinkBuffThe iostreams std::streambuf that will serve as the sink of bytes.

Member Function Documentation

virtual void RWByteToStreambufOutputStreamImp::close ( )
virtual

This function calls flush(). The user is responsible for closing the iostreams std::streambuf used as the sink of bytes, if necessary. Throws RWExternalStreamException and propagates any other exception thrown by the internal std::iostreams streambuf object.

Reimplemented from RWOutputStreamImp.

virtual void RWByteToStreambufOutputStreamImp::flush ( )
virtual

Forward the flush request to the iostreams std::streambuf. Throws RWExternalStreamException and propagates any other exception thrown by the internal iostreams std::streambuf object.

Implements RWOutputStreamImp.

std::streambuf& RWByteToStreambufOutputStreamImp::getSinkBuff ( )
inlineprotected

Returns a reference to the iostreams std::streambuf, which is used as the sink of bytes.

const std::streambuf& RWByteToStreambufOutputStreamImp::getSinkBuff ( ) const
inlineprotected

Returns a const reference to the iostreams std::streambuf, which is used as the sink of bytes.

virtual bool RWByteToStreambufOutputStreamImp::isBad ( ) const
virtual

Returns true if the last operation performed on the iostreams std::streambuf failed.

Implements RWStreamImp.

virtual bool RWByteToStreambufOutputStreamImp::isFail ( ) const
virtual

Returns true if the last operation performed on the iostreams std::streambuf failed.

Implements RWStreamImp.

virtual bool RWByteToStreambufOutputStreamImp::isGood ( ) const
virtual

Returns true if the last operation performed on the iostreams std::streambuf succeeded.

Implements RWStreamImp.

static RWByteOutputStream RWByteToStreambufOutputStreamImp::make ( std::streambuf &  sink)
inlinestatic

Constructs an RWByteToStreambufOutputStreamImp instance that uses sink as its sink of bytes, and returns a handle to it. Throws no exceptions.

Parameters
sinkThe iostreams std::streambuf that is used as the sink of bytes.
virtual void RWByteToStreambufOutputStreamImp::write ( RWByte  byteValue)
virtual

Writes a single byte to the iostreams std::streambuf. Throws exception RWExternalStreamException and propagates any other exception thrown by the internal iostreams std::streambuf object.

Parameters
byteValueThe byte to be written.

Implements RWByteOutputStreamImp.

virtual void RWByteToStreambufOutputStreamImp::write ( const RWByte byteArray,
RWSize  numBytes 
)
virtual

Writes an array of bytes to the iostreams std::streambuf. Throws exception RWIncompleteStreamOperation and propagates any other exception thrown by the internal iostreams std::streambuf object.

Parameters
byteArrayA pointer to the first element of the array.
numBytesThe number of bytes to be written.

Implements RWByteOutputStreamImp.

Copyright © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved.