rwlogo
SourcePro C++ 12.0

SourcePro® C++ API Reference Guide



   SourcePro C++
Documentation Home

RWFilteredWCharInputStreamImp Class Reference
[Streams]

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

#include <rw/stream/RWFilteredWCharInputStreamImp.h>

Inheritance diagram for RWFilteredWCharInputStreamImp:
RWWCharInputStreamImp RWInputStreamImp RWStreamImp RWBodyBase RWTCountingBody< RWMutexLock > RWTMonitor< RWMutexLock > RWTInputStreamLockImp< RWWCharInputStream, RWFilteredWCharInputStreamImp > RWSynchronizedWCharInputStreamImp

List of all members.

Public Member Functions

virtual ~RWFilteredWCharInputStreamImp ()
virtual void close ()
virtual bool isBad () const
virtual bool isFail () const
virtual bool isEof () const
virtual bool isGood () const
virtual wchar_t read ()
virtual RWSize read (wchar_t *wcharArray, RWSize numWChars)
virtual RWSize readUntil (wchar_t *wcharArray, RWSize maxSize, wchar_t delim)
virtual RWSize available () const
virtual RWSize skip (RWSize numUnits)

Protected Member Functions

 RWFilteredWCharInputStreamImp (const RWWCharInputStream &sourceStream)
RWWCharInputStreamgetSourceStream ()
const RWWCharInputStreamgetSourceStream () const

Detailed Description

Abstract base class for all the filtered wide 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 RWFilteredWCharInputStreamImp::~RWFilteredWCharInputStreamImp (  )  [virtual]

Destructor.

RWFilteredWCharInputStreamImp::RWFilteredWCharInputStreamImp ( const RWWCharInputStream sourceStream  )  [inline, protected]

Used by derived classes to initialize the attached source stream.

Parameters:
sourceStream A handle to the attached source stream.

Member Function Documentation

virtual RWSize RWFilteredWCharInputStreamImp::available (  )  const [virtual]

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

Implements RWInputStreamImp.

Reimplemented in RWTInputStreamLockImp< RWWCharInputStream, RWFilteredWCharInputStreamImp >.

virtual void RWFilteredWCharInputStreamImp::close (  )  [virtual]

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

Implements RWStreamImp.

Reimplemented in RWTInputStreamLockImp< RWWCharInputStream, RWFilteredWCharInputStreamImp >.

const RWWCharInputStream& RWFilteredWCharInputStreamImp::getSourceStream (  )  const [inline, protected]

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

RWWCharInputStream& RWFilteredWCharInputStreamImp::getSourceStream (  )  [inline, protected]

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

virtual bool RWFilteredWCharInputStreamImp::isBad (  )  const [virtual]

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

Implements RWStreamImp.

Reimplemented in RWTInputStreamLockImp< RWWCharInputStream, RWFilteredWCharInputStreamImp >.

virtual bool RWFilteredWCharInputStreamImp::isEof (  )  const [virtual]

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

Implements RWInputStreamImp.

Reimplemented in RWTInputStreamLockImp< RWWCharInputStream, RWFilteredWCharInputStreamImp >.

virtual bool RWFilteredWCharInputStreamImp::isFail (  )  const [virtual]

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

Implements RWStreamImp.

Reimplemented in RWTInputStreamLockImp< RWWCharInputStream, RWFilteredWCharInputStreamImp >.

virtual bool RWFilteredWCharInputStreamImp::isGood (  )  const [virtual]

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

Implements RWStreamImp.

Reimplemented in RWTInputStreamLockImp< RWWCharInputStream, RWFilteredWCharInputStreamImp >.

virtual RWSize RWFilteredWCharInputStreamImp::read ( wchar_t *  wcharArray,
RWSize  numWChars 
) [virtual]

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

Parameters:
wcharArray A pointer to the first element of the array. The array must have been pre-allocated to contain at least 'numWChars' elements.
numWChars The number of wide character(s) to be read from the stream.

Implements RWWCharInputStreamImp.

virtual wchar_t RWFilteredWCharInputStreamImp::read (  )  [virtual]

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

Implements RWWCharInputStreamImp.

Reimplemented in RWTInputStreamLockImp< RWWCharInputStream, RWFilteredWCharInputStreamImp >.

virtual RWSize RWFilteredWCharInputStreamImp::readUntil ( wchar_t *  wcharArray,
RWSize  maxSize,
wchar_t  delim 
) [virtual]

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

Parameters:
wcharArray A pointer to the array receiving the wide character(s) extracted from the stream.
maxSize The maximum number of wide character(s) to be read.
delim The wide character used as a delimeter.

Implements RWWCharInputStreamImp.

Reimplemented in RWSynchronizedWCharInputStreamImp.

virtual RWSize RWFilteredWCharInputStreamImp::skip ( RWSize  numUnits  )  [virtual]

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

Parameters:
numUnits The number of wide character(s) to be skipped.

Implements RWInputStreamImp.

Reimplemented in RWTInputStreamLockImp< RWWCharInputStream, RWFilteredWCharInputStreamImp >.

 All Classes Functions Variables Typedefs Enumerations Enumerator Friends

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.