SourcePro C++ 12.0 |
SourcePro® C++ API Reference Guide |
SourcePro C++ Documentation Home |
Implementation of a simple lock stream that is used with a data input stream. More...
#include <rw/stream/RWSynchronizedDataInputStreamImp.h>
Public Member Functions | |
virtual | ~RWSynchronizedDataInputStreamImp () |
virtual void | close () |
virtual bool | isEof () const |
virtual bool | isBad () const |
virtual bool | isFail () const |
virtual bool | isGood () const |
virtual RWSize | available () const |
virtual RWSize | skip (RWSize numUnits) |
virtual RWDataInputStream | acquire () |
virtual void | release () |
virtual void | getBool (bool &value) |
virtual void | getChar (char &value) |
virtual void | getUnsignedChar (unsigned char &value) |
virtual void | getSignedChar (signed char &value) |
virtual void | getShort (short &value) |
virtual void | getUnsignedShort (unsigned short &value) |
virtual void | getInt (int &value) |
virtual void | getUnsignedInt (unsigned int &value) |
virtual void | getLong (long &value) |
virtual void | getUnsignedLong (unsigned long &value) |
virtual void | getFloat (float &value) |
virtual void | getDouble (double &value) |
virtual void | getWchar_t (wchar_t &value) |
virtual void | getLongLong (long long &value) |
virtual void | getUnsignedLongLong (unsigned long long &value) |
virtual void | getLongDouble (long double &value) |
virtual void | getCharacter (char &value) |
virtual void | getWCharacter (wchar_t &value) |
virtual void | getUCharacter (RWUChar &value) |
virtual void | getSizeT (size_t &value) |
virtual RWSize | getBools (bool *arrayPt, RWSize count) |
virtual RWSize | getChars (char *arrayPt, RWSize count) |
virtual RWSize | getUnsignedChars (unsigned char *arrayPt, RWSize count) |
virtual RWSize | getSignedChars (signed char *arrayPt, RWSize count) |
virtual RWSize | getShorts (short *arrayPt, RWSize count) |
virtual RWSize | getUnsignedShorts (unsigned short *arrayPt, RWSize count) |
virtual RWSize | getInts (int *arrayPt, RWSize count) |
virtual RWSize | getUnsignedInts (unsigned int *arrayPt, RWSize count) |
virtual RWSize | getLongs (long *arrayPt, RWSize count) |
virtual RWSize | getUnsignedLongs (unsigned long *arrayPt, RWSize count) |
virtual RWSize | getFloats (float *arrayPt, RWSize count) |
virtual RWSize | getDoubles (double *arrayPt, RWSize count) |
virtual RWSize | getWchar_ts (wchar_t *arrayPt, RWSize count) |
virtual RWSize | getLongLongs (long long *arrayPt, RWSize count) |
virtual RWSize | getUnsignedLongLongs (unsigned long long *arrayPt, RWSize count) |
virtual RWSize | getLongDoubles (long double *arrayPt, RWSize count) |
virtual RWSize | getString (char *string, RWSize count) |
virtual RWSize | getWString (wchar_t *wstring, RWSize count) |
virtual RWSize | getUString (RWUChar *ustring, RWSize count) |
virtual RWSize | getDelimitedString (char *string, RWSize maxCount, char delim) |
virtual RWSize | getDelimitedWString (wchar_t *wstring, RWSize maxCount, wchar_t delim) |
virtual RWSize | getDelimitedUString (RWUChar *ustring, RWSize maxCount, RWUChar delim) |
Static Public Member Functions | |
static RWDataInputStream | make (const RWDataInputStream &sourceStream) |
Protected Member Functions | |
RWSynchronizedDataInputStreamImp (const RWDataInputStream &sourceStream) | |
RWMutexLock & | getStreamMutex () |
RWMutexLock & | getStreamMutex () const |
Class RWSynchronizedDataInputStreamImp implements a simple lock stream that is used with data 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.
virtual RWSynchronizedDataInputStreamImp::~RWSynchronizedDataInputStreamImp | ( | ) | [virtual] |
Destructor.
RWSynchronizedDataInputStreamImp::RWSynchronizedDataInputStreamImp | ( | const RWDataInputStream & | sourceStream | ) | [protected] |
Initializes the reference to the input stream that will be used as the source of data.
sourceStream | The input stream that will serve as the source of data. |
virtual RWDataInputStream RWSynchronizedDataInputStreamImp::acquire | ( | ) | [virtual] |
Acquires the stream's internal synchronization mechanism. The acquire() member function returns a handle to the next processing stream.
Reimplemented from RWDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::available | ( | ) | const [virtual] |
Returns the number of bytes that can be read from the stream without blocking. Throws no exceptions.
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::close | ( | ) | [virtual] |
Calls close() on the next processing stream.
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getBool | ( | bool & | value | ) | [virtual] |
Forward reading of a single bool
value from the attached source stream.
value | The value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getBools | ( | bool * | arrayPt, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of an array of bool
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getChar | ( | char & | value | ) | [virtual] |
Forward reading of a single char
value from the attached source stream.
value | The char value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getCharacter | ( | char & | value | ) | [virtual] |
Forward the reading of a narrow character from the attached source stream.
value | The narrow character to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getChars | ( | char * | arrayPt, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of an array of char
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getDelimitedString | ( | char * | string, | |
RWSize | maxCount, | |||
char | delim | |||
) | [virtual] |
Forward the reading of narrow characters from the stream until the last character read is equal to delim, or maxCount narrow characters have been read, or the end of the input sequence is reached. The narrow characters read are stored in string. The function returns the actual number of narrow characters read from the stream.
string | A pointer to the string receiving the narrow character(s) extracted from the stream. | |
maxCount | The maximum number of narrow character(s) to be read. | |
delim | The narrow character used as a delimeter. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getDelimitedUString | ( | RWUChar * | ustring, | |
RWSize | maxCount, | |||
RWUChar | delim | |||
) | [virtual] |
Forward the reading of UTF-16 characters from the stream until the last character read is equal to delim, or maxCount UTF-16 characters have been read, or the end of the input sequence is reached. The UTF-16 characters read are stored in ustring. The function returns the actual number of UTF-16 characters read from the stream.
ustring | A pointer to the string receiving the unicode character(s) extracted from the stream. | |
maxCount | The maximum number of unicode character(s) to be read. | |
delim | The unicode character used as a delimeter. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getDelimitedWString | ( | wchar_t * | wstring, | |
RWSize | maxCount, | |||
wchar_t | delim | |||
) | [virtual] |
Forward the reading of wide characters from the stream until the last character read is equal to delim, or maxCount wide characters have been read, or the end of the input sequence is reached. The wide characters read are stored in wstring. The function returns the actual number of wide characters read from the stream.
wstring | A pointer to the string receiving the wide character(s) extracted from the stream. | |
maxCount | The maximum number of wide character(s) to be read. | |
delim | The wide character used as a delimeter. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getDouble | ( | double & | value | ) | [virtual] |
Forward reading of a single double
value from the attached source stream.
value | The double value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getDoubles | ( | double * | arrayPt, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of an array of double
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getFloat | ( | float & | value | ) | [virtual] |
Forward reading of a single float
value from the attached source stream.
value | The float value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getFloats | ( | float * | arrayPt, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of an array of float
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getInt | ( | int & | value | ) | [virtual] |
Forward reading of a single int
value from the attached source stream.
value | The int value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
Forward the reading of an array of int
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getLong | ( | long & | value | ) | [virtual] |
Forward reading of a single long
value from the attached source stream.
value | The long value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getLongDouble | ( | long double & | value | ) | [virtual] |
Forward reading of a single long double
value from the attached source stream.
value | The long double value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getLongDoubles | ( | long double * | arrayPt, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of an array of long double
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getLongLong | ( | long long & | value | ) | [virtual] |
Forward reading of a single long long
value from the attached source stream.
value | The long long value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getLongLongs | ( | long long * | arrayPt, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of an array of long long
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getLongs | ( | long * | arrayPt, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of an array of long
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getShort | ( | short & | value | ) | [virtual] |
Forward reading of a single short
value from the attached source stream.
value | The short value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getShorts | ( | short * | arrayPt, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of an array of short
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getSignedChar | ( | signed char & | value | ) | [virtual] |
Forward reading of a single signed char
value from the attached source stream.
value | The signed char value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getSignedChars | ( | signed char * | arrayPt, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of an array of signed char
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getSizeT | ( | size_t & | value | ) | [virtual] |
Reads a size_t
value from the stream.
value | The size_t value to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
RWMutexLock & RWSynchronizedDataInputStreamImp::getStreamMutex | ( | ) | const [inline, protected] |
Returns the stream's internal synchronization mechanism. Throws no exception.
RWMutexLock & RWSynchronizedDataInputStreamImp::getStreamMutex | ( | ) | [inline, protected] |
Returns the stream's internal synchronization mechanism. Throws no exception.
virtual RWSize RWSynchronizedDataInputStreamImp::getString | ( | char * | string, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of a string of narrow characters from the attached source stream. The function returns the number of narrow characters read.
string | A pointer to the first element of the string. The string must have been pre-allocated to contain at least count narrow characters. | |
count | The number of narrow character(s) to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getUCharacter | ( | RWUChar & | value | ) | [virtual] |
Forward the reading of a UTF-16 character from the attached source stream.
value | The unicode character to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getUnsignedChar | ( | unsigned char & | value | ) | [virtual] |
Forward reading of a single unsigned char
value from the attached source stream.
value | The unsigned char value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getUnsignedChars | ( | unsigned char * | arrayPt, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of an array of unsigned char
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getUnsignedInt | ( | unsigned int & | value | ) | [virtual] |
Forward reading of a single unsigned int
value from the attached source stream.
value | The unsigned int value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getUnsignedInts | ( | unsigned int * | arrayPt, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of an array of unsigned int
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getUnsignedLong | ( | unsigned long & | value | ) | [virtual] |
Forward reading of a single unsigned long
value from the attached source stream.
value | The unsigned long value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getUnsignedLongLong | ( | unsigned long long & | value | ) | [virtual] |
Forward reading of a single unsigned long long
value from the attached source stream.
value | The unsigned long long value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getUnsignedLongLongs | ( | unsigned long long * | arrayPt, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of an array of unsigned long long
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getUnsignedLongs | ( | unsigned long * | arrayPt, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of an array of unsigned long
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getUnsignedShort | ( | unsigned short & | value | ) | [virtual] |
Forward reading of a single unsigned short
value from the attached source stream.
value | The unsigned short value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getUnsignedShorts | ( | unsigned short * | arrayPt, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of an array of unsigned short
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getUString | ( | RWUChar * | ustring, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of a string of UTF-16 characters from the attached source stream. The function returns the number of UTF-16 characters read.
ustring | A pointer to the first element of the string. The string must have been pre-allocated to contain at least count unicode characters. | |
count | The number of unicode character(s) to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getWchar_t | ( | wchar_t & | value | ) | [virtual] |
Forward reading of a single wchar_t
value from the attached source stream.
value | The wchar_t value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getWchar_ts | ( | wchar_t * | arrayPt, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of an array of wchar_t
elements from the attached source stream. The function returns the number of elements read.
arrayPt | A pointer to the first element of the array. The array must have been pre-allocated to contain at least count elements. | |
count | The number of elements to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual void RWSynchronizedDataInputStreamImp::getWCharacter | ( | wchar_t & | value | ) | [virtual] |
Forward the reading of a wide character from the attached source stream.
value | The wide character to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual RWSize RWSynchronizedDataInputStreamImp::getWString | ( | wchar_t * | wstring, | |
RWSize | count | |||
) | [virtual] |
Forward the reading of a string of wide characters from the attached source stream. The function returns the number of wide characters read.
wstring | A pointer to the first element of the string. The string must have been pre-allocated to contain at least count wide characters. | |
count | The number of wide character(s) to be read from the stream. |
Reimplemented from RWFilteredDataInputStreamImp.
virtual bool RWSynchronizedDataInputStreamImp::isBad | ( | ) | const [virtual] |
If the stream is in bad state, then this function returns true
, otherwise it returns false
. Throws no exceptions.
Reimplemented from RWFilteredDataInputStreamImp.
virtual bool RWSynchronizedDataInputStreamImp::isEof | ( | ) | const [virtual] |
If no data can be obtained from the input sequence, this function returns true
, otherwise it returns false
. Throws no exceptions.
Reimplemented from RWFilteredDataInputStreamImp.
virtual bool RWSynchronizedDataInputStreamImp::isFail | ( | ) | const [virtual] |
If the stream is in fail state, then this function returns true
, otherwise it returns false
. Throws no exceptions.
Reimplemented from RWFilteredDataInputStreamImp.
virtual bool RWSynchronizedDataInputStreamImp::isGood | ( | ) | const [virtual] |
If the stream is in fail or bad state, then this function returns false
, otherwise it returns true
. Throws no exceptions.
Reimplemented from RWFilteredDataInputStreamImp.
static RWDataInputStream RWSynchronizedDataInputStreamImp::make | ( | const RWDataInputStream & | sourceStream | ) | [inline, static] |
Constructs an RWSynchronizedDataInputStreamImp instance that uses sourceStream as its source of data, and returns a handle to it. Throws no exceptions.
sourceStream | The output stream that will serve as the source of data. |
virtual void RWSynchronizedDataInputStreamImp::release | ( | ) | [virtual] |
Releases the stream's internal synchronization mechanism.
Reimplemented from RWDataInputStreamImp.
Skips numUnits bytes from the input sequence if possible. The function returns the actual number of bytes skipped, which can be any value between 0 and numUnits.
numUnits | The number of bytes to be skipped. |
Reimplemented from RWFilteredDataInputStreamImp.
© 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.