Implementation of a simple lock stream that can be used with a UTF-16 character input stream. More...
#include <rw/stream/RWSynchronizedUCharInputStreamImp.h>
Public Member Functions | |
virtual RWSize | readUntil (RWUChar *unicodeArray, RWSize maxSize, RWUChar delim) |
Public Member Functions inherited from RWTInputStreamLockImp< RWUCharInputStream, RWFilteredUCharInputStreamImp > | |
virtual | ~RWTInputStreamLockImp () |
virtual RWUCharInputStream | acquire () |
virtual RWSize | available () const |
virtual void | close () |
virtual bool | isBad () const |
virtual bool | isEof () const |
virtual bool | isFail () const |
virtual bool | isGood () const |
virtual element_type | read () |
virtual RWSize | read (element_type *array, RWSize num) |
virtual void | release () |
virtual RWSize | skip (RWSize numUnits) |
Public Member Functions inherited from RWFilteredUCharInputStreamImp | |
virtual | ~RWFilteredUCharInputStreamImp () |
Public Member Functions inherited from RWUCharInputStreamImp | |
virtual | ~RWUCharInputStreamImp () |
Public Member Functions inherited from RWInputStreamImp | |
virtual | ~RWInputStreamImp () |
Public Member Functions inherited from RWStreamImp | |
virtual | ~RWStreamImp () |
Static Public Member Functions | |
static RWUCharInputStream | make (const RWUCharInputStream &sourceStream) |
Static Public Member Functions inherited from RWTInputStreamLockImp< RWUCharInputStream, RWFilteredUCharInputStreamImp > | |
static RWUCharInputStream | make (const RWUCharInputStream &sourceStream) |
Additional Inherited Members | |
Public Types inherited from RWTInputStreamLockImp< RWUCharInputStream, RWFilteredUCharInputStreamImp > | |
typedef RWUCharInputStream::element_type | element_type |
typedef RWUCharInputStream | RWInputStream_type |
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 |
Class RWSynchronizedUCharInputStreamImp implements a simple lock stream that is used with UTF-16 character input stream. The stream locks its internal synchronization mechanism before forwarding input requests to its associated source stream, and then unlocks the internal synchronization mechanism upon completion. The stream's internal synchronization mechanism is locked using a guard object, ensuring its proper release in the event that an exception is thrown.
|
protected |
Initializes the reference to the input stream that will be used as the source of UTF-16 characters.
sourceStream | The input stream that will serve as the source of UTF-16 characters. |
|
inlinestatic |
Constructs an RWSynchronizedUCharInputStreamImp instance that uses sourceStream as its source of UTF-16 characters, and returns a handle to it. Throws no exceptions.
sourceStream | The output stream that will serve as the source of UTF-16 characters. |
|
virtual |
Reads UTF-16 characters from the attached source 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.
unicodeArray | A pointer to the array receiving the UTF-16 character(s) extracted from the stream. |
maxSize | The maximum number of UTF-16 character(s) to be read. |
delim | The UTF-16 character used as a delimiter. |
Reimplemented from RWFilteredUCharInputStreamImp.
Copyright © 2021 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |