SourcePro® API Reference Guide

 
List of all members | Public Member Functions | Protected Member Functions
RWFilteredCharInputStreamImp Class Reference

Abstract base class for all the filtered narrow character input stream implementation classes. More...

#include <rw/stream/RWFilteredCharInputStreamImp.h>

Inheritance diagram for RWFilteredCharInputStreamImp:
RWCharInputStreamImp RWInputStreamImp RWStreamImp RWBodyBase RWTCountingBody< RWMutexLock > RWTMonitor< RWMutexLock > RWTInputStreamBufferImp< RWCharInputStream, RWFilteredCharInputStreamImp > RWTInputStreamLockImp< RWCharInputStream, RWFilteredCharInputStreamImp > RWBufferedCharInputStreamImp RWSynchronizedCharInputStreamImp

Public Member Functions

virtual ~RWFilteredCharInputStreamImp ()
 
virtual RWSize available () const
 
virtual void close ()
 
virtual bool isBad () const
 
virtual bool isEof () const
 
virtual bool isFail () const
 
virtual bool isGood () const
 
virtual char read ()
 
virtual RWSize read (char *charArray, RWSize numChars)
 
virtual void readStringUntil (RWCString &string, char delim)
 
virtual RWSize readUntil (char *charArray, RWSize maxSize, char delim)
 
virtual RWSize skip (RWSize numUnits)
 
- Public Member Functions inherited from RWCharInputStreamImp
virtual ~RWCharInputStreamImp ()
 
virtual RWCharInputStream acquire ()
 
virtual void release ()
 
- Public Member Functions inherited from RWInputStreamImp
virtual ~RWInputStreamImp ()
 
- Public Member Functions inherited from RWStreamImp
virtual ~RWStreamImp ()
 

Protected Member Functions

 RWFilteredCharInputStreamImp (const RWCharInputStream &sourceStream)
 
RWCharInputStreamgetSourceStream ()
 
const RWCharInputStreamgetSourceStream () const
 
- Protected Member Functions inherited from RWCharInputStreamImp
 RWCharInputStreamImp ()
 
- Protected Member Functions inherited from RWInputStreamImp
 RWInputStreamImp ()
 
- 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

Abstract base class for all the filtered narrow character input stream implementation classes. A filtered input stream is a stream that uses its attached input stream as the source of elements to its own functions. Implements the body idiom from the handle-body pattern.

Constructor & Destructor Documentation

virtual RWFilteredCharInputStreamImp::~RWFilteredCharInputStreamImp ( )
virtual

Destructor. Throws no exceptions.

RWFilteredCharInputStreamImp::RWFilteredCharInputStreamImp ( const RWCharInputStream sourceStream)
inlineprotected

Used by derived classes to initialize the attached source stream. Throws no exceptions.

Parameters
sourceStreamA handle to the attached source stream.

Member Function Documentation

virtual RWSize RWFilteredCharInputStreamImp::available ( ) const
virtual

Returns the number of narrow characters that can be read from the attached source stream without blocking. Throws no exceptions.

Implements RWInputStreamImp.

Reimplemented in RWTInputStreamBufferImp< RWCharInputStream, RWFilteredCharInputStreamImp >, and RWTInputStreamLockImp< RWCharInputStream, RWFilteredCharInputStreamImp >.

virtual void RWFilteredCharInputStreamImp::close ( )
virtual

Forwards the close() request to the attached source stream.

Implements RWStreamImp.

Reimplemented in RWTInputStreamLockImp< RWCharInputStream, RWFilteredCharInputStreamImp >.

RWCharInputStream& RWFilteredCharInputStreamImp::getSourceStream ( )
inlineprotected

Returns a handle to the attached source stream. Throws no exceptions.

const RWCharInputStream& RWFilteredCharInputStreamImp::getSourceStream ( ) const
inlineprotected

Returns a handle to the attached source stream. Throws no exceptions.

virtual bool RWFilteredCharInputStreamImp::isBad ( ) const
virtual

Forwards the isBad() request to the attached source stream. Throws no exceptions.

Implements RWStreamImp.

Reimplemented in RWTInputStreamBufferImp< RWCharInputStream, RWFilteredCharInputStreamImp >, and RWTInputStreamLockImp< RWCharInputStream, RWFilteredCharInputStreamImp >.

virtual bool RWFilteredCharInputStreamImp::isEof ( ) const
virtual

Forwards the isEof() request to the attached source stream. Throws no exceptions.

Implements RWInputStreamImp.

Reimplemented in RWTInputStreamBufferImp< RWCharInputStream, RWFilteredCharInputStreamImp >, and RWTInputStreamLockImp< RWCharInputStream, RWFilteredCharInputStreamImp >.

virtual bool RWFilteredCharInputStreamImp::isFail ( ) const
virtual

Forwards the isFail() request to the attached source stream. Throws no exceptions.

Implements RWStreamImp.

Reimplemented in RWTInputStreamBufferImp< RWCharInputStream, RWFilteredCharInputStreamImp >, and RWTInputStreamLockImp< RWCharInputStream, RWFilteredCharInputStreamImp >.

virtual bool RWFilteredCharInputStreamImp::isGood ( ) const
virtual

Forwards the isGood() request to the attached source stream. Throws no exceptions.

Implements RWStreamImp.

Reimplemented in RWTInputStreamBufferImp< RWCharInputStream, RWFilteredCharInputStreamImp >, and RWTInputStreamLockImp< RWCharInputStream, RWFilteredCharInputStreamImp >.

virtual char RWFilteredCharInputStreamImp::read ( )
virtual

Forwards the reading of a single narrow character from the attached source stream.

Implements RWCharInputStreamImp.

Reimplemented in RWTInputStreamBufferImp< RWCharInputStream, RWFilteredCharInputStreamImp >, and RWTInputStreamLockImp< RWCharInputStream, RWFilteredCharInputStreamImp >.

virtual RWSize RWFilteredCharInputStreamImp::read ( char *  charArray,
RWSize  numChars 
)
virtual

Forwards the reading of an array of narrow characters from the attached source stream. The function returns the actual number of narrow characters read.

Parameters
charArrayA pointer to the first element of the array. The array must have been pre-allocated to contain at least numChars elements.
numCharsThe number of narrow character(s) to be read from the stream.

Implements RWCharInputStreamImp.

Reimplemented in RWTInputStreamLockImp< RWCharInputStream, RWFilteredCharInputStreamImp >.

virtual void RWFilteredCharInputStreamImp::readStringUntil ( RWCString string,
char  delim 
)
virtual

Reads narrow character(s) from the attached source stream until the last character read is equal to delim, or the end of the input sequence is reached. The narrow character(s) read are stored in a narrow string object.

Parameters
stringA string object receiving the narrow character(s) extracted from the stream.
delimThe narrow character used as a delimiter.

Implements RWCharInputStreamImp.

Reimplemented in RWBufferedCharInputStreamImp, and RWSynchronizedCharInputStreamImp.

virtual RWSize RWFilteredCharInputStreamImp::readUntil ( char *  charArray,
RWSize  maxSize,
char  delim 
)
virtual

Reads narrow character(s) from the attached source stream until the last narrow character read is equal to delim, or maxSize narrow character(s) have been read, or the end of the input sequence is reached. The narrow character(s) read are stored in charArray. The function returns the actual number of narrow character(s) read from the stream.

Parameters
charArrayA pointer to the array receiving the narrow character(s) extracted from the stream.
maxSizeThe maximum number of narrow character(s) to be read.
delimThe narrow character value used as a delimiter.

Implements RWCharInputStreamImp.

Reimplemented in RWSynchronizedCharInputStreamImp.

virtual RWSize RWFilteredCharInputStreamImp::skip ( RWSize  numUnits)
virtual

Skips numUnits narrow characters from the input sequence of the attached source stream if possible. The function returns the actual number of narrow characters skipped, which can be any value between 0 and numUnits.

Parameters
numUnitsThe number of narrow character(s) to be skipped.

Implements RWInputStreamImp.

Reimplemented in RWTInputStreamBufferImp< RWCharInputStream, RWFilteredCharInputStreamImp >, and RWTInputStreamLockImp< RWCharInputStream, RWFilteredCharInputStreamImp >.

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