SourcePro® API Reference Guide

Product Documentation:
   SourcePro
Documentation Home
List of all members | Public Member Functions | Protected Member Functions
RWUCharInputStreamImp Class Referenceabstract

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

#include <rw/stream/RWUCharInputStreamImp.h>

Inheritance diagram for RWUCharInputStreamImp:
RWInputStreamImp RWStreamImp RWBodyBase RWTCountingBody< RWMutexLock > RWTMonitor< RWMutexLock > RWFilteredUCharInputStreamImp RWUCharFromByteInputStreamImp RWUCharFromUTF8ByteInputStreamImp RWTInputStreamLockImp< RWUCharInputStream, RWFilteredUCharInputStreamImp > RWSynchronizedUCharInputStreamImp

Public Member Functions

virtual ~RWUCharInputStreamImp ()
 
virtual RWUCharInputStream acquire ()
 
virtual RWUChar read ()=0
 
virtual RWSize read (RWUChar *unicodeArray, RWSize numUChars)=0
 
virtual RWSize readUntil (RWUChar *unicodeArray, RWSize maxSize, RWUChar 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

 RWUCharInputStreamImp ()
 
- 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 Unicode character input stream implementation classes. Implements the body idiom from the handle-body pattern.

Constructor & Destructor Documentation

virtual RWUCharInputStreamImp::~RWUCharInputStreamImp ( )
inlinevirtual

Destructor.

RWUCharInputStreamImp::RWUCharInputStreamImp ( )
inlineprotected

Constructor.

Member Function Documentation

virtual RWUCharInputStream RWUCharInputStreamImp::acquire ( )
virtual

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

Reimplemented in RWTInputStreamLockImp< RWUCharInputStream, RWFilteredUCharInputStreamImp >.

virtual RWUChar RWUCharInputStreamImp::read ( )
pure virtual
virtual RWSize RWUCharInputStreamImp::read ( RWUChar unicodeArray,
RWSize  numUChars 
)
pure virtual

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

Parameters
unicodeArrayA pointer to the first element of the array.
numUCharsThe number of UTF-16 characters to be read from the stream.

Implemented in RWTInputStreamLockImp< RWUCharInputStream, RWFilteredUCharInputStreamImp >, RWUCharFromUTF8ByteInputStreamImp, RWUCharFromByteInputStreamImp, and RWFilteredUCharInputStreamImp.

virtual RWSize RWUCharInputStreamImp::readUntil ( RWUChar unicodeArray,
RWSize  maxSize,
RWUChar  delim 
)
pure virtual

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

Parameters
unicodeArrayA pointer to the array receiving the UTF-16 characters extracted from the stream.
maxSizeThe maximum number of UTF-16 characters to be read.
delimThe UTF-16 character used as a delimiter.

Implemented in RWUCharFromUTF8ByteInputStreamImp, RWUCharFromByteInputStreamImp, RWFilteredUCharInputStreamImp, and RWSynchronizedUCharInputStreamImp.

virtual void RWUCharInputStreamImp::release ( void  )
inlinevirtual

Releases the synchronization mechanism provided by a stream concrete implementation.

Reimplemented in RWTInputStreamLockImp< RWUCharInputStream, RWFilteredUCharInputStreamImp >.

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