SourcePro® API Reference Guide

 
Loading...
Searching...
No Matches
RWByteInputStreamImp Class Referenceabstract

Abstract base class for all binary input stream implementation classes. More...

#include <rw/stream/RWByteInputStreamImp.h>

Inheritance diagram for RWByteInputStreamImp:
RWInputStreamImp RWStreamImp RWBodyBase RWTCountingBody< RWMutexLock > RWTMonitor< RWMutexLock > RWByteFromStreambufInputStreamImp RWFilteredByteInputStreamImp RWTInputStreamLockImp< RWByteInputStream, RWFilteredByteInputStreamImp > RWSynchronizedByteInputStreamImp

Public Member Functions

virtual ~RWByteInputStreamImp ()
 
virtual RWByteInputStream acquire ()
 
virtual RWByte read ()=0
 
virtual RWSize read (RWByte *byteArray, RWSize numBytes)=0
 
virtual RWSize readUntil (RWByte *byteArray, RWSize maxSize, RWByte delim)=0
 
virtual void release ()
 
- Public Member Functions inherited from RWInputStreamImp
virtual ~RWInputStreamImp ()
 
virtual RWSize available () const =0
 
virtual bool isEof () const =0
 
virtual RWSize skip (RWSize numUnits)=0
 
- Public Member Functions inherited from RWStreamImp
virtual ~RWStreamImp ()
 
virtual void close ()=0
 
virtual bool isBad () const =0
 
virtual bool isFail () const =0
 
virtual bool isGood () const =0
 

Protected Member Functions

 RWByteInputStreamImp ()
 
- Protected Member Functions inherited from RWInputStreamImp
 RWInputStreamImp ()
 
- Protected Member Functions inherited from RWStreamImp
 RWStreamImp ()
 
- Protected Member Functions inherited from RWBodyBase
 RWBodyBase (const RWBodyBase &second)
 
 RWBodyBase (RWStaticCtor)
 
 RWBodyBase (void)
 
virtual ~RWBodyBase (void)
 
RWBodyBaseoperator= (const RWBodyBase &second)
 
- Protected Member Functions inherited from RWTCountingBody< RWMutexLock >
 RWTCountingBody (const RWTCountingBody< RWMutexLock > &second)
 
 RWTCountingBody (RWStaticCtor)
 
 RWTCountingBody (unsigned initCount=0)
 
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 (const RWTMonitor< RWMutexLock > &second)
 
 RWTMonitor (RWStaticCtor)
 
 RWTMonitor (void)
 
 ~RWTMonitor (void)
 
void acquire (void)
 
bool isAcquired (void) const
 
RWTMonitor< RWMutexLock > & monitor (void) const
 
RWMutexLockmutex (void)
 
RWTMonitor< RWMutexLock > & operator= (const RWTMonitor< RWMutexLock > &)
 
void release (void)
 
bool tryAcquire (void)
 

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

Abstract base class for all the binary input stream implementation classes. Implements the body idiom from the handle-body pattern.

Constructor & Destructor Documentation

◆ ~RWByteInputStreamImp()

virtual RWByteInputStreamImp::~RWByteInputStreamImp ( )
inlinevirtual

Destructor.

◆ RWByteInputStreamImp()

RWByteInputStreamImp::RWByteInputStreamImp ( )
inlineprotected

Constructor.

Member Function Documentation

◆ acquire()

virtual RWByteInputStream RWByteInputStreamImp::acquire ( )
virtual

Acquires the synchronization mechanism provided by a stream concrete implementation. The acquire() member function returns a handle to the binary stream that should be used for input operation after acquiring the synchronization mechanism.

Reimplemented in RWTInputStreamLockImp< RWByteInputStream, RWFilteredByteInputStreamImp >.

◆ read() [1/2]

virtual RWByte RWByteInputStreamImp::read ( )
pure virtual

◆ read() [2/2]

virtual RWSize RWByteInputStreamImp::read ( RWByte * byteArray,
RWSize numBytes )
pure virtual

Reads an array of bytes from the stream. The array must be pre-allocated to contain at least of numBytes elements. The function returns the actual number of bytes read from the stream.

Parameters
byteArrayA pointer to the first element of the array.
numBytesThe number of bytes to be read from the stream.

Implemented in RWByteFromStreambufInputStreamImp, RWFilteredByteInputStreamImp, and RWTInputStreamLockImp< RWByteInputStream, RWFilteredByteInputStreamImp >.

◆ readUntil()

virtual RWSize RWByteInputStreamImp::readUntil ( RWByte * byteArray,
RWSize maxSize,
RWByte delim )
pure virtual

Reads bytes from the stream until the last byte read is equal to delim, or maxSize bytes have been read, or the end of the input sequence is reached. The bytes read are stored in byteArray. The function returns the actual number of bytes read from the stream.

Parameters
byteArrayA pointer to the array receiving the bytes extracted from the stream.
maxSizeThe maximum number of bytes to be read.
delimThe byte value used as a delimiter.

Implemented in RWByteFromStreambufInputStreamImp, RWFilteredByteInputStreamImp, and RWSynchronizedByteInputStreamImp.

◆ release()

virtual void RWByteInputStreamImp::release ( void )
inlinevirtual

Releases the synchronization mechanism provided by a stream concrete implementation.

Reimplemented in RWTInputStreamLockImp< RWByteInputStream, RWFilteredByteInputStreamImp >.

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