SourcePro® C++ API Reference Guide

Product Documentation:
   SourcePro C++
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 © 2016 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.
Provide feedback to Rogue Wave about its documentation.