SourcePro® 2023.1 |
SourcePro® API Reference Guide |
Concrete class connecting a UTF-16 character stream to an input binary stream. More...
#include <rw/stream/RWUCharFromByteInputStreamImp.h>
Public Member Functions | |
virtual | ~RWUCharFromByteInputStreamImp () |
virtual RWSize | available () const |
virtual void | close () |
virtual bool | isBad () const |
virtual bool | isEof () const |
virtual bool | isFail () const |
virtual bool | isGood () const |
virtual RWUChar | read () |
virtual RWSize | read (RWUChar *unicodeArray, RWSize numUChars) |
virtual RWSize | readUntil (RWUChar *unicodeArray, RWSize maxSize, RWUChar delim) |
virtual RWSize | skip (RWSize numUnits) |
Public Member Functions inherited from RWUCharInputStreamImp | |
virtual | ~RWUCharInputStreamImp () |
virtual RWUCharInputStream | acquire () |
virtual void | release () |
Public Member Functions inherited from RWInputStreamImp | |
virtual | ~RWInputStreamImp () |
Public Member Functions inherited from RWStreamImp | |
virtual | ~RWStreamImp () |
Static Public Member Functions | |
static RWUCharInputStream | make (const RWByteInputStream &source) |
Private Member Functions | |
void | getUChar (RWUChar &uc) |
RWSize | getUChars (RWUChar *ucAr, RWSize max) |
Static Private Member Functions | |
static void | swap2Bytes (RWUChar &uc) |
static void | swapnBytes (RWUChar *ucAr, RWSize n) |
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 |
Concrete class connecting a UTF-16 character stream to a binary stream. The UTF-16 characters are read as a sequence of bytes using the byte ordering (little endian or big endian) specified by the stream header. The stream header consists of the UTF-16 character U+FEFF
that is inserted in the stream when generating the output byte sequence. Implements the body idiom from the handle-body pattern.
|
virtual |
Destructor.
|
protected |
Initializes the reference to the stream that will be used as the source of bytes.
sourceStream | The binary stream that will serve as the source of bytes. |
|
virtual |
Returns the number of UTF-16 characters that can be read from the stream used as the source of bytes without blocking.
Implements RWInputStreamImp.
|
virtual |
This function is forwarded to the binary stream used as the source of bytes. Throws no exceptions.
Implements RWStreamImp.
|
inlineprotected |
Returns a reference to the stream used as the source of bytes. They throw no exceptions.
|
inlineprotected |
Returns a reference to the stream used as the source of bytes. They throw no exceptions.
|
private |
Reads a single UTF-16 character from the stream used as the source of bytes.
uc | A reference to a UTF-16 character that will be updated if the function succeeds. |
Reads an array of max UTF-16 characters from the stream used as the source of bytes. The function returns the actual number of UTF-16 characters read.
ucAr | A pre-allocated array. |
max | The number of UTF-16 characters to be read. |
|
virtual |
This function forwarded to the binary stream used as the source of bytes. Throws no exceptions.
Implements RWStreamImp.
|
virtual |
This function forwarded to the binary stream used as the source of bytes. Throws no exceptions.
Implements RWInputStreamImp.
|
virtual |
This function forwarded to the binary stream used as the source of bytes. Throws no exceptions.
Implements RWStreamImp.
|
virtual |
This function forwarded to the binary stream used as the source of bytes. Throws no exceptions.
Implements RWStreamImp.
|
inlinestatic |
Constructs an RWUCharFromByteInputStreamImp instance that uses source as the source of bytes, and returns a handle to it.
source | The binary stream that is used as the source of bytes. |
|
virtual |
This function forwarded to the binary stream used as the source of bytes. Throws no exceptions.
Implements RWUCharInputStreamImp.
|
virtual |
Reads an array of UTF-16 characters from the stream used as the source of bytes. The array must be pre-allocated to contain at least numUChars elements. The function returns the actual number of UTF-16 characters extracted from the stream.
unicodeArray | A pointer to the first element of the array. |
numUChars | The number of UTF-16 characters to be read from the stream. |
Implements RWUCharInputStreamImp.
|
virtual |
Reads UTF-16 characters from the stream used as the source of bytes 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 inserted into unicodeArray. If the last UTF-16 character extracted is equal to delim, then it is not stored in unicodeArray.
unicodeArray | A pointer to the array receiving the UTF-16 characters extracted from the stream. |
maxSize | The maximum number of UTF-16 characters to be read. |
delim | The UTF-16 character used as a delimiter. |
Implements RWUCharInputStreamImp.
Skips numUnits UTF-16 characters from the input sequence if possible. The function returns the actual number of UTF-16 characters skipped, which can be any value between 0 and numUnits.
numUnits | The number of UTF-16 characters to be skipped. |
Implements RWInputStreamImp.
|
inlinestaticprivate |
Swap the Hi
and Lo
bytes of a single UTF-16 character. Throws no exceptions.
uc | A reference to a UTF-16 character that will have its bytes swapped. |
Copyright © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |