rwlogo
SourcePro C++ 12.0

SourcePro® C++ API Reference Guide



   SourcePro C++
Documentation Home

RWUCharFromUTF8ByteInputStreamImp Class Reference
[Streams]

Concrete class connecting a UTF-16 character stream to a UTF-8 binary stream. More...

#include <rw/stream/RWUCharFromUTF8ByteInputStreamImp.h>

Inheritance diagram for RWUCharFromUTF8ByteInputStreamImp:
RWUCharInputStreamImp RWInputStreamImp RWStreamImp RWBodyBase RWTCountingBody< RWMutexLock > RWTMonitor< RWMutexLock >

List of all members.

Public Member Functions

virtual ~RWUCharFromUTF8ByteInputStreamImp ()
virtual void close ()
virtual bool isEof () const
virtual bool isBad () 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 available () const
virtual RWSize skip (RWSize numUnits)

Static Public Member Functions

static RWUCharInputStream make (const RWByteInputStream &source)

Protected Member Functions

 RWUCharFromUTF8ByteInputStreamImp (const RWByteInputStream &sourceStream)
RWByteInputStreamgetSourceStream ()
const RWByteInputStreamgetSourceStream () const

Detailed Description

Concrete class connecting a UTF-16 character stream to a UTF-8 binary stream. The bytes read from the UTF-8 binary stream used as the source of bytes are transformed into UTF-16 characters.

UTF-8 is a variable length encoding of the UTF-16 Standard using 8-bit sequences, where the high bits indicate which part of the sequence a byte belongs to. Implements the body idiom from the handle-body pattern.


Constructor & Destructor Documentation

virtual RWUCharFromUTF8ByteInputStreamImp::~RWUCharFromUTF8ByteInputStreamImp (  )  [virtual]

Destructor.

RWUCharFromUTF8ByteInputStreamImp::RWUCharFromUTF8ByteInputStreamImp ( const RWByteInputStream sourceStream  )  [protected]

Initializes the reference to the stream that will be used as the source of bytes.

Parameters:
sourceStream The binary stream that will serve as the source of bytes.

Member Function Documentation

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

Returns the minimum number of UTF-16 characters that can be read from the stream used as the source of bytes without blocking. The actual number might be greater than the number returned by this function.

Implements RWInputStreamImp.

virtual void RWUCharFromUTF8ByteInputStreamImp::close (  )  [virtual]

This function is forwarded to the binary stream used as the source of bytes. Throws no exceptions.

Implements RWStreamImp.

const RWByteInputStream& RWUCharFromUTF8ByteInputStreamImp::getSourceStream (  )  const [inline, protected]

Returns a reference to the stream used as the source of bytes. They throw no exceptions.

RWByteInputStream& RWUCharFromUTF8ByteInputStreamImp::getSourceStream (  )  [inline, protected]

Returns a reference to the stream used as the source of bytes. They throw no exceptions.

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

This function is forwarded to the binary stream used as the source of bytes. Throws no exceptions.

Implements RWStreamImp.

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

This function is forwarded to the binary stream used as the source of bytes. Throws no exceptions.

Implements RWInputStreamImp.

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

This function is forwarded to the binary stream used as the source of bytes. Throws no exceptions.

Implements RWStreamImp.

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

This function is forwarded to the binary stream used as the source of bytes. Throws no exceptions.

Implements RWStreamImp.

static RWUCharInputStream RWUCharFromUTF8ByteInputStreamImp::make ( const RWByteInputStream source  )  [inline, static]

Constructs an RWUCharFromUTF8ByteInputStreamImp instance that uses source as the source of bytes, and returns a handle to it.

Parameters:
source The binary stream that is used as the source of bytes.
virtual RWSize RWUCharFromUTF8ByteInputStreamImp::read ( RWUChar unicodeArray,
RWSize  numUChars 
) [virtual]

Reads and decodes 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.

Parameters:
unicodeArray A pointer to the first element of the array.
numUChars The number of UTF-16 characters(s) to be read from the stream.

Implements RWUCharInputStreamImp.

virtual RWUChar RWUCharFromUTF8ByteInputStreamImp::read (  )  [virtual]

Reads and decodes a single UTF-16 character from the stream used as the source of bytes.

Implements RWUCharInputStreamImp.

virtual RWSize RWUCharFromUTF8ByteInputStreamImp::readUntil ( RWUChar unicodeArray,
RWSize  maxSize,
RWUChar  delim 
) [virtual]

Reads and decodes 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 that are read are stored in unicodeArray. The function returns the actual number of UTF-16 characters inserted into unicodeArray. If the last character extracted is equal to delim, then it is not stored in unicodeArray.

Parameters:
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.

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

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.

Parameters:
numUnits The number of UTF-16 characters to be skipped.

Implements RWInputStreamImp.

 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.