rwlogo
SourcePro C++ 12.0

SourcePro® C++ API Reference Guide



   SourcePro C++
Documentation Home

RWSynchronizedDataOutputStreamImp Class Reference
[Streams]

Implementation of a simple lock stream that can be used with a data output stream. More...

#include <rw/stream/RWSynchronizedDataOutputStreamImp.h>

Inheritance diagram for RWSynchronizedDataOutputStreamImp:
RWFilteredDataOutputStreamImp RWDataOutputStreamImp RWOutputStreamImp RWStreamImp RWBodyBase RWTCountingBody< RWMutexLock > RWTMonitor< RWMutexLock >

List of all members.

Public Member Functions

virtual ~RWSynchronizedDataOutputStreamImp ()
virtual void close ()
virtual void flush ()
virtual bool isBad () const
virtual bool isFail () const
virtual bool isGood () const
virtual RWDataOutputStream acquire ()
virtual void release ()
virtual void putBool (bool value)
virtual void putChar (char value)
virtual void putUnsignedChar (unsigned char value)
virtual void putSignedChar (signed char value)
virtual void putShort (short value)
virtual void putUnsignedShort (unsigned short value)
virtual void putInt (int value)
virtual void putUnsignedInt (unsigned int value)
virtual void putLong (long value)
virtual void putUnsignedLong (unsigned long value)
virtual void putFloat (float value)
virtual void putDouble (double value)
virtual void putWchar_t (wchar_t value)
virtual void putUnsignedLongLong (unsigned long long value)
virtual void putLongLong (long long value)
virtual void putLongDouble (long double value)
virtual void putCharacter (char value)
virtual void putWCharacter (wchar_t value)
virtual void putUCharacter (RWUChar value)
virtual void putSizeT (size_t value)
virtual void putBools (const bool *arrayPt, RWSize count)
virtual void putChars (const char *arrayPt, RWSize count)
virtual void putUnsignedChars (const unsigned char *arrayPt, RWSize count)
virtual void putSignedChars (const signed char *arrayPt, RWSize count)
virtual void putShorts (const short *arrayPt, RWSize count)
virtual void putUnsignedShorts (const unsigned short *arrayPt, RWSize count)
virtual void putInts (const int *arrayPt, RWSize count)
virtual void putUnsignedInts (const unsigned int *arrayPt, RWSize count)
virtual void putLongs (const long *arrayPt, RWSize count)
virtual void putUnsignedLongs (const unsigned long *arrayPt, RWSize count)
virtual void putFloats (const float *arrayPt, RWSize count)
virtual void putDoubles (const double *arrayPt, RWSize count)
virtual void putWchar_ts (const wchar_t *arrayPt, RWSize count)
virtual void putLongLongs (const long long *arrayPt, RWSize count)
virtual void putUnsignedLongLongs (const unsigned long long *arrayPt, RWSize count)
virtual void putLongDoubles (const long double *arrayPt, RWSize count)
virtual void putString (const char *string, RWSize count)
virtual void putWString (const wchar_t *wstring, RWSize count)
virtual void putUString (const RWUChar *ustring, RWSize count)

Static Public Member Functions

static RWDataOutputStream make (const RWDataOutputStream &sinkStream)

Protected Member Functions

 RWSynchronizedDataOutputStreamImp (const RWDataOutputStream &sinkStream)
RWMutexLockgetStreamMutex ()
RWMutexLockgetStreamMutex () const

Detailed Description

The class RWSynchronizedDataOutputStreamImp implements a simple lock stream that can be used with data output stream. The stream locks its internal synchronization mechanism before forwarding output requests to its associated sink 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 an exception is thrown.


Constructor & Destructor Documentation

virtual RWSynchronizedDataOutputStreamImp::~RWSynchronizedDataOutputStreamImp (  )  [virtual]

Destructor.

RWSynchronizedDataOutputStreamImp::RWSynchronizedDataOutputStreamImp ( const RWDataOutputStream sinkStream  )  [protected]

Initializes the reference to the data output stream that will be used as the sink of data.

Parameters:
sinkStream The data output stream that will serve as the sink of elements.

Member Function Documentation

virtual RWDataOutputStream RWSynchronizedDataOutputStreamImp::acquire (  )  [virtual]

Acquires the stream's internal synchronization mechanism. The acquire() member function returns a handle to the next processing stream.

Reimplemented from RWDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::close (  )  [virtual]

Forwards the close() request to the next processing stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::flush (  )  [virtual]

Forwards the flush() request to the next processing stream.

Reimplemented from RWFilteredDataOutputStreamImp.

RWMutexLock & RWSynchronizedDataOutputStreamImp::getStreamMutex (  )  const [inline, protected]

Returns the stream's internal synchronization mechanism. Throws no exceptions.

RWMutexLock & RWSynchronizedDataOutputStreamImp::getStreamMutex (  )  [inline, protected]

Returns the stream's internal synchronization mechanism. Throws no exceptions.

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

Returns true to indicate a loss of integrity resulting from an output operation. Throws no exceptions.

Reimplemented from RWFilteredDataOutputStreamImp.

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

Returns true to indicate that an output operation failed to generate the desired data. Throws no exceptions.

Reimplemented from RWFilteredDataOutputStreamImp.

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

Returns true to indicate a stream in a valid state. Throws no exceptions.

Reimplemented from RWFilteredDataOutputStreamImp.

static RWDataOutputStream RWSynchronizedDataOutputStreamImp::make ( const RWDataOutputStream sinkStream  )  [inline, static]

Constructs an RWSynchronizedDataOutputStreamImp instance that uses sinkStream as its sink of data, and returns a handle to it. Throws no exceptions.

Parameters:
sinkStream The output stream that will serve as the sink of data.
virtual void RWSynchronizedDataOutputStreamImp::putBool ( bool  value  )  [virtual]

Forward writing of a single bool value to the next processing stream.

Parameters:
value The bool value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putBools ( const bool *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of bool values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putChar ( char  value  )  [virtual]

Forward writing of a single char value to the next processing stream.

Parameters:
value The char value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putCharacter ( char  value  )  [virtual]

Forwards the writing of a single narrow character to the next processing stream.

Parameters:
value The narrow character to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putChars ( const char *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of char values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putDouble ( double  value  )  [virtual]

Forward writing of a single double value to the next processing stream.

Parameters:
value The double value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putDoubles ( const double *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of double values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putFloat ( float  value  )  [virtual]

Forward writing of a single float value to the next processing stream.

Parameters:
value The float value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putFloats ( const float *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of float values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putInt ( int  value  )  [virtual]

Forward writing of a single int value to the next processing stream.

Parameters:
value The int value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putInts ( const int *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of int values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putLong ( long  value  )  [virtual]

Forward writing of a single long value to the next processing stream.

Parameters:
value The long value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putLongDouble ( long double  value  )  [virtual]

Forward writing of a single long double value to the next processing stream.

Parameters:
value The long double value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putLongDoubles ( const long double *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of long double values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putLongLong ( long long  value  )  [virtual]

Forward writing of a single long long value to the next processing stream.

Parameters:
value The long long value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putLongLongs ( const long long *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of long long values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putLongs ( const long *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of long values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putShort ( short  value  )  [virtual]

Forward writing of a single short value to the next processing stream.

Parameters:
value The short value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putShorts ( const short *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of short values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putSignedChar ( signed char  value  )  [virtual]

Forward writing of a single signed char value to the next processing stream.

Parameters:
value The signed char value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putSignedChars ( const signed char *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of signed char values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putSizeT ( size_t  value  )  [virtual]

Forwards the writing of a single size_t character to the next processing stream.

Parameters:
value The size_t character to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putString ( const char *  string,
RWSize  count 
) [virtual]

Forwards the writing of a narrow character string, including embedded nulls, starting at string to the next processing stream.

Parameters:
string A pointer to the narrow string's first character.
count The number of narrow character(s) to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putUCharacter ( RWUChar  value  )  [virtual]

Forwards the writing of a single UTF-16 character to the next processing stream.

Parameters:
value The unicode character to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putUnsignedChar ( unsigned char  value  )  [virtual]

Forward writing of a single unsigned char value to the next processing stream.

Parameters:
value The unsigned char value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putUnsignedChars ( const unsigned char *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of unsigned char values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putUnsignedInt ( unsigned int  value  )  [virtual]

Forward writing of a single unsigned int value to the next processing stream.

Parameters:
value The unsigned int value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putUnsignedInts ( const unsigned int *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of unsigned int values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putUnsignedLong ( unsigned long  value  )  [virtual]

Forward writing of a single unsigned long value to the next processing stream.

Parameters:
value The unsigned long value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putUnsignedLongLong ( unsigned long long  value  )  [virtual]

Forward writing of a single unsigned long long value to the next processing stream.

Parameters:
value The unsigned long long value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putUnsignedLongLongs ( const unsigned long long *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of unsigned long long values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putUnsignedLongs ( const unsigned long *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of unsigned long values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putUnsignedShort ( unsigned short  value  )  [virtual]

Forward writing of a single unsigned short value to the next processing stream.

Parameters:
value The unsigned short value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putUnsignedShorts ( const unsigned short *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of unsigned short values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putUString ( const RWUChar ustring,
RWSize  count 
) [virtual]

Forwards the writing of a UTF-16 character string, including embedded nulls, starting at ustring to the next processing stream.

Parameters:
ustring A pointer to the string's first unicode character.
count The number of unicode character(s) to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putWchar_t ( wchar_t  value  )  [virtual]

Forward writing of a single wchar_t value to the next processing stream.

Parameters:
value The wchar_t value to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putWchar_ts ( const wchar_t *  arrayPt,
RWSize  count 
) [virtual]

Forward writing of an array of wchar_t values to the next processing stream.

Parameters:
arrayPt A pointer to the first element of the array.
count The number of elements to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putWCharacter ( wchar_t  value  )  [virtual]

Forward writing of a single wide character to the next processing stream.

Parameters:
value The wide character to be written.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::putWString ( const wchar_t *  wstring,
RWSize  count 
) [virtual]

Forwards the writing of a wide character string, including embedded nulls, starting at wstring to the next processing stream.

Parameters:
wstring A pointer to the string's first wide character.
count The number of wide character(s) to be written to the stream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWSynchronizedDataOutputStreamImp::release (  )  [virtual]

Releases the stream's internal synchronization mechanism.

Reimplemented from RWDataOutputStreamImp.

 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.