SourcePro® API Reference Guide

 
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions
RWXmlObjectOutputStreamImp Class Reference

Serializes one or more objects as an XML-formatted data stream and passes the stream to a supplied RWDataOutputStream. More...

#include <rw/xmlstreams/RWXmlObjectOutputStreamImp.h>

Inheritance diagram for RWXmlObjectOutputStreamImp:
RWObjectOutputStreamImp RWXmlObjectStreamCommon RWFilteredDataOutputStreamImp RWDataOutputStreamImp RWOutputStreamImp RWStreamImp RWBodyBase RWTCountingBody< RWMutexLock > RWTMonitor< RWMutexLock > RWTParsedTransformObjectOutputStreamImp< Transform > RWTTransformObjectOutputStreamImp< Transform >

Public Member Functions

virtual void endAssoc ()
 
virtual void endBlock ()
 
virtual void endElement ()
 
virtual void endMap ()
 
virtual void endMember (const RWSymbol &memberName)
 
virtual void endSequence ()
 
virtual bool needToWrite (const void *obj)
 
virtual void newObjectMarker ()
 
virtual void putBool (bool value)
 
virtual void putChar (char value)
 
virtual void putCharacter (char value)
 
virtual void putDouble (double value)
 
virtual void putFloat (float value)
 
virtual void putInt (int value)
 
virtual void putLong (long value)
 
virtual void putLongDouble (long double value)
 
virtual void putLongLong (long long value)
 
virtual void putShort (short value)
 
virtual void putSignedChar (signed char value)
 
virtual void putSizeT (size_t value)
 
virtual void putString (const RWCString &value)
 
virtual void putUCharacter (RWUChar value)
 
virtual void putUnsignedChar (unsigned char value)
 
virtual void putUnsignedInt (unsigned int value)
 
virtual void putUnsignedLong (unsigned long value)
 
virtual void putUnsignedLongLong (unsigned long long value)
 
virtual void putUnsignedShort (unsigned short value)
 
virtual void putUString (const RWBasicUString &value)
 
virtual void putWchar_t (wchar_t value)
 
virtual void putWCharacter (wchar_t value)
 
virtual void putWString (const RWWString &value)
 
virtual void rememberObject (const void *obj)
 
virtual void setNameForNextObject (const RWCString &str)
 
virtual void startAssocKey ()
 
virtual void startAssocValue ()
 
virtual void startBlock (const RWSymbol &)
 
virtual void startElement (int position)
 
virtual void startMap (int count, RWStreamType keyType, RWStreamType valueType, const RWSymbol &)
 
virtual void startSequence (int count, RWStreamType elementType, const RWSymbol &)
 
virtual void writeMemberInfo (const RWSymbol &memberName, RWStreamType memberType)
 
virtual void writeNullPtr ()
 
virtual void writeObjectName ()
 
virtual void writeTypeInfo (const RWSymbol &typeInfo)
 
- Public Member Functions inherited from RWObjectOutputStreamImp
virtual void closeContext (bool writeContext=true)
 
virtual void endParent ()
 
virtual void openContext (bool writeContext=true)
 
virtual void putSymbol (const RWSymbol &sym)
 
virtual void startParent (const RWSymbol &)
 
- Public Member Functions inherited from RWFilteredDataOutputStreamImp
virtual ~RWFilteredDataOutputStreamImp ()
 
virtual void close ()
 
virtual void flush ()
 
virtual bool isBad () const
 
virtual bool isFail () const
 
virtual bool isGood () const
 
virtual void putBools (const bool *arrayPt, RWSize count)
 
virtual void putChars (const char *arrayPt, RWSize count)
 
virtual void putDoubles (const double *arrayPt, RWSize count)
 
virtual void putFloats (const float *arrayPt, RWSize count)
 
virtual void putInts (const int *arrayPt, RWSize count)
 
virtual void putLongDoubles (const long double *arrayPt, RWSize count)
 
virtual void putLongLongs (const long long *arrayPt, RWSize count)
 
virtual void putLongs (const long *arrayPt, RWSize count)
 
virtual void putShorts (const short *arrayPt, RWSize count)
 
virtual void putSignedChars (const signed char *arrayPt, RWSize count)
 
virtual void putUnsignedChars (const unsigned char *arrayPt, RWSize count)
 
virtual void putUnsignedInts (const unsigned int *arrayPt, RWSize count)
 
virtual void putUnsignedLongLongs (const unsigned long long *arrayPt, RWSize count)
 
virtual void putUnsignedLongs (const unsigned long *arrayPt, RWSize count)
 
virtual void putUnsignedShorts (const unsigned short *arrayPt, RWSize count)
 
virtual void putWchar_ts (const wchar_t *arrayPt, RWSize count)
 
- Public Member Functions inherited from RWDataOutputStreamImp
virtual ~RWDataOutputStreamImp ()
 
virtual RWDataOutputStream acquire ()
 
virtual void release ()
 
- Public Member Functions inherited from RWOutputStreamImp
virtual ~RWOutputStreamImp ()
 
- Public Member Functions inherited from RWStreamImp
virtual ~RWStreamImp ()
 

Static Public Member Functions

static RWObjectOutputStream make (std::ostream &sink, const RWCString &rootElementType=nestedObjectTag, bool escape=true)
 
static RWObjectOutputStream make (std::ostream &sink, std::ios *&formatter, const RWCString &rootElementType=nestedObjectTag, bool escape=true)
 
static RWObjectOutputStream make (RWDataOutputStream &sink, const RWCString &rootElementType=nestedObjectTag, bool escape=true)
 
- Static Public Member Functions inherited from RWXmlObjectStreamCommon
static const char * rwStreamToLocalStringType (RWStreamType stype)
 
static const char * rwStreamToStringType (RWStreamType stype)
 

Protected Member Functions

 RWXmlObjectOutputStreamImp (std::ostream &ostr, const RWCString &rootElementType, bool escape)
 
 RWXmlObjectOutputStreamImp (std::ostream &ostr, std::ios *&formatter, const RWCString &rootElementType, bool escape)
 
 RWXmlObjectOutputStreamImp (const RWDataOutputStream &ostr, const RWCString &rootElementType, bool escape)
 
virtual void closeOuterContext (bool writeContext)
 
virtual void openOuterContext (bool writeContext)
 
virtual void putString (const char *string, RWSize count)
 
virtual void putUString (const RWUChar *ustring, RWSize count)
 
virtual void putWString (const wchar_t *wstring, RWSize count)
 
- Protected Member Functions inherited from RWObjectOutputStreamImp
 RWObjectOutputStreamImp (const RWDataOutputStream &sinkStream)
 
int getContextNestingLevel ()
 
- Protected Member Functions inherited from RWFilteredDataOutputStreamImp
 RWFilteredDataOutputStreamImp (const RWDataOutputStream &sinkStream)
 
RWDataOutputStreamgetSinkStream ()
 
const RWDataOutputStreamgetSinkStream () const
 
- Protected Member Functions inherited from RWDataOutputStreamImp
 RWDataOutputStreamImp ()
 
- Protected Member Functions inherited from RWOutputStreamImp
 RWOutputStreamImp ()
 
- Protected Member Functions inherited from RWStreamImp
 RWStreamImp ()
 
- Protected Member Functions inherited from RWBodyBase
 RWBodyBase (void)
 
 RWBodyBase (RWStaticCtor)
 
 RWBodyBase (const RWBodyBase &second)
 
virtual ~RWBodyBase (void)
 
RWBodyBaseoperator= (const RWBodyBase &second)
 
- Protected Member Functions inherited from RWTCountingBody< RWMutexLock >
 RWTCountingBody (unsigned initCount=0)
 
 RWTCountingBody (RWStaticCtor)
 
 RWTCountingBody (const RWTCountingBody< RWMutexLock > &second)
 
RWTCountingBody< RWMutexLock > & operator= (const RWTCountingBody< RWMutexLock > &second)
 
 ~RWTCountingBody (void)
 
unsigned addReference (void)
 
unsigned references (void) const
 
unsigned removeReference (void)
 
- Protected Member Functions inherited from RWTMonitor< RWMutexLock >
 RWTMonitor ()
 
 RWTMonitor (RWStaticCtor)
 
 RWTMonitor (const RWTMonitor< RWMutexLock > &second)
 
 ~RWTMonitor ()
 
void acquire ()
 
bool isAcquired () const
 
RWTMonitor< RWMutexLock > & monitor () const
 
RWMutexLockmutex ()
 
RWTMonitor< RWMutexLock > & operator= (const RWTMonitor< RWMutexLock > &)
 
void release ()
 
bool tryAcquire ()
 

Additional Inherited Members

- Static Public Attributes inherited from RWXmlObjectStreamCommon
static const char * associationTag
 
static const char * assocKeyTag
 
static const char * assocValueTag
 
static const char * elementPosAttr
 
static const char * IdAttr
 
static const char * IdRefAttr
 
static const char * mapCountAttr
 
static const char * mapKeyTypeAttr
 
static const char * mapTag
 
static const char * mapValueTypeAttr
 
static const char * memberNameAttr
 
static const char * memberTag
 
static const char * memberTypeAttr
 
static const char * nestedObjectTag
 
static const char * objectNameAttr
 
static const char * objectRefTag
 
static const char * objectRefTagLocal
 
static const char * objectTag
 
static const char * objectTypeAttr
 
static const char * primitiveTag
 
static const char * rwEncodingNamespaceValue
 
static const char * rwNamespace
 
static const char * rwNamespaceAttr
 
static const char * rwNamespaceValue
 
static const char * seqCountAttr
 
static const char * seqTypeAttr
 
static const char * sequenceElementTag
 
static const char * sequenceTag
 
static const char * xsdNamespace
 
static const char * xsdNamespaceAttr
 
static const char * xsdNamespaceValue
 
static const char * xsiNamespace
 
static const char * xsiNamespaceAttr
 
static const char * xsiNamespaceValue
 
- 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
 
- Protected Attributes inherited from RWObjectOutputStreamImp
RWCString nameForNextObject_
 

Detailed Description

The class RWXmlObjectOutputStreamImp serializes one or more objects as an XML-formatted data stream and passes the stream to a supplied RWDataOutputStream.

The XML Streams Module integrates with the general Rogue Wave streams architecture defined by the streams and serialization packages of the Advanced Tools Module of SourcePro Core. This architecture allows an XML stream to be written out and read in using a wide variety of streaming configurations. For more information specific to the XML Streams Module, see the XML Streams Module User's Guide. For information on the general architecture, see the Advanced Tools Module User's Guide.

RWXmlObjectOutputStreamImp is the body class of a handle-body pattern. The corresponding handle class is RWObjectOutputStream.

The syntax of the XML formatting generated by this class is defined by the XML schema xmlstreams.xsd. This schema is located in buildspace\rw\xmlstreams.

Example
// Create a strstream as the output stream to receive
// the XML-formatted object data
ostrstream s;
// Create an XML data stream using the strstream
// Write integer value `1' to XML data stream
s << 1;

Constructor & Destructor Documentation

RWXmlObjectOutputStreamImp::RWXmlObjectOutputStreamImp ( std::ostream &  ostr,
const RWCString rootElementType,
bool  escape 
)
inlineprotected

Used by the make() function and potentially by derived classes to initialize an output stream to be used as the sink for the XML-formatted object serialization data. Use this constructor if the required output stream is a standard library ostream and pass a reference to that stream as the ostr parameter.

The parameter rootElementType must be one of the following:

The value passed indicates the root element of the generated document.

The parameter escape sets whether to escape XML reserved characters in the data being serialized. By setting this parameter to true, reserved characters in char and string values are escaped, allowing the data to include embedded XML.

The reserved characters are:

< > & " '

You get slightly better performance if the escape parameter is set to false, but before doing so be certain that your data does not contain reserved characters.

RWXmlObjectOutputStreamImp::RWXmlObjectOutputStreamImp ( std::ostream &  ostr,
std::ios *&  formatter,
const RWCString rootElementType,
bool  escape 
)
inlineprotected

Used by the make() function and potentially by derived classes to initialize an output stream to be used as the sink for the XML-formatted object serialization data. Use this constructor if the required output stream is a standard library ostream and pass a reference to that stream as the ostr parameter.

The parameter rootElementType must be one of the following:

The value passed indicates the root element of the generated document.

The parameter escape sets whether to escape XML reserved characters in the data being serialized. By setting this parameter to true, reserved characters in char and string values are escaped, allowing the data to include embedded XML.

The reserved characters are:

< > & " '

You get slightly better performance if the escape parameter is set to false, but before doing so be certain that your data does not contain reserved characters.

This constructor also takes a pointer reference to an std::ios formatting object. An empty formatting object pointer is created before the XML stream is created and is passed to this constructor through the make() function. This constructor, in creating the underlying character stream for the XML stream, creates a formatting object for the stream and places the address of that object in the pointer reference. The calling application can then use this formatting object to manipulate data formats in the XML stream. See the corresponding make() function description for an example.

RWXmlObjectOutputStreamImp::RWXmlObjectOutputStreamImp ( const RWDataOutputStream ostr,
const RWCString rootElementType,
bool  escape 
)
inlineprotected

Used by the make() function and potentially by derived classes to initialize an RWDataOutputStream stream to be used as the sink for the XML-formatted object serialization data. Use this constructor if the required output stream is a RWDataOutputStream stream and pass a reference to that stream as the ostr parameter.

The parameter rootElementType must be one of the following:

The value passed indicates the root element of the generated document.

The parameter escape sets whether to escape XML reserved characters in the data being serialized. By setting this parameter to true, reserved characters in char and string values are escaped, allowing the data to include embedded XML.

The reserved characters are:

< > & " '

You get slightly better performance if the escape parameter is set to false, but before doing so be certain that your data does not contain reserved characters.

Member Function Documentation

virtual void RWXmlObjectOutputStreamImp::closeOuterContext ( bool  writeContext)
protectedvirtual

Really closes an open context. This function is called when the number of closeContext() calls matches the number of openContext() calls.

Implements RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::endAssoc ( )
virtual

Called by the output operators for association types after each value.

Reimplemented from RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::endBlock ( )
virtual

Outputs tokens that identify the end of an object.

Implements RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::endElement ( )
virtual

Called by the output operators for collection types after each element in a sequence.

Reimplemented from RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::endMap ( )
virtual

Called by the output operators for association types after all the pairs.

Reimplemented from RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::endMember ( const RWSymbol )
virtual

Called by streamContents() after each data member is written.

Reimplemented from RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::endSequence ( )
virtual

Called by the output operators for collection types at the end of a sequence.

Reimplemented from RWObjectOutputStreamImp.

static RWObjectOutputStream RWXmlObjectOutputStreamImp::make ( std::ostream &  sink,
const RWCString rootElementType = nestedObjectTag,
bool  escape = true 
)
static

Constructs an RWXmlObjectOutputStreamImp instance that passes the serialized object data to the output stream sink, and returns a handle to it. Use this method when the data output stream is a standard library ostream.

The parameter rootElementType must be one of the following:

The value passed indicates the root element of the generated document. The default setting is nestedObjectTag.

The parameter escape sets whether to escape XML reserved characters in the data being serialized. By setting this parameter to true, reserved characters in char and string values are escaped, allowing the data to include embedded XML.

The reserved characters are:

< > & " '

You get slightly better performance if the escape parameter is set to false, but before doing so be certain that your data does not contain reserved characters.

static RWObjectOutputStream RWXmlObjectOutputStreamImp::make ( std::ostream &  sink,
std::ios *&  formatter,
const RWCString rootElementType = nestedObjectTag,
bool  escape = true 
)
static

Constructs an RWXmlObjectOutputStreamImp instance that passes the serialized object data to the output stream sink, and returns a handle to it. Use this method when the data output stream is a standard library ostream.

The parameter rootElementType must be one of the following:

The value passed indicates the root element of the generated document. The default setting is nestedObjectTag.

The parameter escape sets whether to escape XML reserved characters in the data being serialized. By setting this parameter to true, reserved characters in char and string values are escaped, allowing the data to include embedded XML.

The reserved characters are:

< > & " '

You get slightly better performance if the escape parameter is set to false, but before doing so be certain that your data does not contain reserved characters.

This function also takes a pointer reference to an std::ios formatting object. An empty formatting object pointer is created before the XML stream is created and is passed through this make() function to the constructor:

std::ios* formatter; // uninitialized pointer

The constructor, in creating the underlying character stream for the XML stream, creates a formatting object for the stream and places the address of that object in the pointer reference. The calling application can then use this formatting object to manipulate data formats in the XML stream.

formatter->precision(15); // manipulate data format
static RWObjectOutputStream RWXmlObjectOutputStreamImp::make ( RWDataOutputStream sink,
const RWCString rootElementType = nestedObjectTag,
bool  escape = true 
)
static

Constructs an RWXmlObjectOutputStreamImp instance that passes the serialized object data to the RWDataOutputStream stream sink, and returns a handle to it. Use this method when the data output stream is a RWDataOutputStream stream.

The parameter rootElementType must be one of the following:

The value passed indicates the root element of the generated document. The default setting is nestedObjectTag.

The parameter escape sets whether to escape XML reserved characters in the data being serialized. By setting this parameter to true, reserved characters in char and string values are escaped, allowing the data to include embedded XML.

The reserved characters are:

< > & " '

You get slightly better performance if the escape parameter is set to false, but before doing so be certain that your data does not contain reserved characters.

virtual bool RWXmlObjectOutputStreamImp::needToWrite ( const void *  obj)
virtual

Returns true when the referenced object has not yet been written to the stream in the current context. Otherwise, tokens are output identifying this object as having been previously streamed, and the function returns false.

Implements RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::newObjectMarker ( )
virtual

Output is a token indicating that an object will be created by the factory.

Implements RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::openOuterContext ( bool  writeContext)
protectedvirtual

Really opens a new context. This function is called by openContext() when a context is not already open.

Implements RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putBool ( bool  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putChar ( char  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putCharacter ( char  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putDouble ( double  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putFloat ( float  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putInt ( int  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putLong ( long  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putLongDouble ( long double  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putLongLong ( long long  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putShort ( short  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putSignedChar ( signed char  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putSizeT ( size_t  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putString ( const RWCString value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Implements RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putString ( const char *  string,
RWSize  count 
)
inlineprotectedvirtual

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

Parameters
stringA pointer to the narrow string's first character.
countThe number of narrow character(s) to be written to the stream.

Reimplemented from RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putUCharacter ( RWUChar  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putUnsignedChar ( unsigned char  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putUnsignedInt ( unsigned int  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putUnsignedLong ( unsigned long  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putUnsignedLongLong ( unsigned long long  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putUnsignedShort ( unsigned short  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putUString ( const RWBasicUString value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Implements RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putUString ( const RWUChar ustring,
RWSize  count 
)
inlineprotectedvirtual

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

Parameters
ustringA pointer to the string's first unicode character.
countThe number of unicode character(s) to be written to the stream.

Reimplemented from RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putWchar_t ( wchar_t  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putWCharacter ( wchar_t  value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Reimplemented from RWFilteredDataOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putWString ( const RWWString value)
virtual

Writes a value to the stream, where the type of the value is defined by the parameter. These functions are redefined from the parent class RWObjectOutputStream.

Implements RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::putWString ( const wchar_t *  wstring,
RWSize  count 
)
inlineprotectedvirtual

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

Parameters
wstringA pointer to the string's first wide character.
countThe number of wide character(s) to be written to the stream.

Reimplemented from RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::rememberObject ( const void *  obj)
virtual

Called by streaming operators to record each instance streamed out, in case it is referenced again in the same context.

Parameters
objHolds the address of the instance.

Implements RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::setNameForNextObject ( const RWCString str)
virtual

Sets up the instance name for the next object to be written out.

Implements RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::startAssocKey ( )
virtual

Called by the output operators for association types before each key.

Reimplemented from RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::startAssocValue ( )
virtual

Called by the output operators for association types after each key and before each value.

Reimplemented from RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::startBlock ( const RWSymbol typeInfo)
virtual

Outputs tokens that identify the start of a new object.

Parameters
typeInfoIdentifies the type of the new object, if such information is available.

Implements RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::startElement ( int  )
virtual

Called by the output operators for collection types before each element in a sequence.

Reimplemented from RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::startMap ( int  count,
RWStreamType  keyType,
RWStreamType  valueType,
const RWSymbol typeInfo 
)
virtual

Called by the output operators for association types (hash tables, etc.) at the start.

Parameters
countContains the number of items in the association.
keyTypeContains the type of key in the association.
valueTypeContains the type of value in the association.
typeInfoContains the type of the association (collection) itself.

Implements RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::startSequence ( int  count,
RWStreamType  elementType,
const RWSymbol typeInfo 
)
virtual

Called by the output operators for collection types at the start of a sequence.

Parameters
countContains the number of items in the collection.
elementTypeContains the type of element in the collection.
typeInfoContains the type of the collection itself.

Implements RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::writeMemberInfo ( const RWSymbol memberName,
RWStreamType  memberType 
)
virtual

Called for before each data member by the streamContents() function. Metadata about the field may or may not be written to the stream, depending on the implementation. This function returns true if data is actually written out. Otherwise, it returns false.

Parameters
memberNameIdentifies the name of the member.
memberTypeIdentifies the type of the member.

Implements RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::writeNullPtr ( )
virtual

Output is a token representing a null pointer.

Implements RWObjectOutputStreamImp.

virtual void RWXmlObjectOutputStreamImp::writeObjectName ( )
virtual

Writes the object name to the stream.

virtual void RWXmlObjectOutputStreamImp::writeTypeInfo ( const RWSymbol typeInfo)
virtual

Outputs the type information required to factory an object of the correct dynamic type (derived class) on input.

Parameters
typeInfoIdentifies the type of the new object, if such information is available.

Implements RWObjectOutputStreamImp.

Copyright © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved.