rwlogo
SourcePro C++ 12.0

SourcePro® C++ API Reference Guide



   SourcePro C++
Documentation Home

RWSynchronizedDataInputStreamImp Class Reference
[Streams]

Implementation of a simple lock stream that is used with a data input stream. More...

#include <rw/stream/RWSynchronizedDataInputStreamImp.h>

Inheritance diagram for RWSynchronizedDataInputStreamImp:
RWFilteredDataInputStreamImp RWDataInputStreamImp RWInputStreamImp RWStreamImp RWBodyBase RWTCountingBody< RWMutexLock > RWTMonitor< RWMutexLock >

List of all members.

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)
RWMutexLockgetStreamMutex ()
RWMutexLockgetStreamMutex () const

Detailed Description

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.


Constructor & Destructor Documentation

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.

Parameters:
sourceStream The input stream that will serve as the source of data.

Member Function Documentation

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.

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

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

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

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

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

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

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

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

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

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

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

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

Parameters:
value The int value to be read from the attached source stream.

Reimplemented from RWFilteredDataInputStreamImp.

virtual RWSize RWSynchronizedDataInputStreamImp::getInts ( int *  arrayPt,
RWSize  count 
) [virtual]

Forward the reading of an array of int elements from the attached source stream. The function returns the number of elements read.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

Parameters:
numUnits The number of bytes to be skipped.

Reimplemented from RWFilteredDataInputStreamImp.

 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.