rwlogo
SourcePro C++ 13.0

SourcePro® C++ API Reference Guide

Product Documentation:

   SourcePro C++
Documentation Home

 All Classes Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
List of all members | Static Public Member Functions | Protected Member Functions
RWTTransformObjectOutputStreamImp< Transform > Class Template Reference

Constructs an XML stream that applies a generic transformation to the XML document before writing it out to the sink. More...

#include <rw/xmlstreams/RWTTransformObjectOutputStreamImp.h>

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

Static Public Member Functions

static RWObjectOutputStream make (std::ostream &sink, Transform transformer, const RWCString &rootElementType=nestedObjectTag, bool escape=true)
 
static RWObjectOutputStream make (std::ostream &sink, Transform transformer, std::ios *&formatter, const RWCString &rootElementType=nestedObjectTag, bool escape=true)
  More...
 
- Static Public Member Functions inherited from RWXmlObjectOutputStreamImp
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)
  More...
 
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

 RWTTransformObjectOutputStreamImp (std::ostream &ostr, Transform transformer, const RWCString &rootElementType, bool escape)
 
 RWTTransformObjectOutputStreamImp (std::ostream &ostr, Transform transformer, std::ios *&formatter, const RWCString &rootElementType, bool escape)
  More...
 
- Protected Member Functions inherited from RWXmlObjectOutputStreamImp
 RWXmlObjectOutputStreamImp (std::ostream &ostr, const RWCString &rootElementType, bool escape)
 
 RWXmlObjectOutputStreamImp (std::ostream &ostr, std::ios *&formatter, const RWCString &rootElementType, bool escape)
  More...
 
 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 (void)
 
unsigned addReference (void)
 
unsigned references (void) const
 
unsigned removeReference (void)
 
 RWTCountingBody (unsigned initCount=0)
 
 RWTCountingBody (RWStaticCtor)
 
 RWTCountingBody (const RWTCountingBody< RWMutexLock > &second)
 
RWTCountingBody< RWMutexLock > & operator= (const RWTCountingBody< RWMutexLock > &second)
 

Additional Inherited Members

- Public Member Functions inherited from RWXmlObjectOutputStreamImp
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)
  More...
 
virtual void putChar (char value)
  More...
 
virtual void putCharacter (char value)
  More...
 
virtual void putDouble (double value)
  More...
 
virtual void putFloat (float value)
  More...
 
virtual void putInt (int value)
  More...
 
virtual void putLong (long value)
  More...
 
virtual void putLongDouble (long double value)
  More...
 
virtual void putLongLong (long long value)
  More...
 
virtual void putShort (short value)
  More...
 
virtual void putSignedChar (signed char value)
  More...
 
virtual void putSizeT (size_t value)
  More...
 
virtual void putString (const RWCString &value)
 
virtual void putUCharacter (RWUChar value)
  More...
 
virtual void putUnsignedChar (unsigned char value)
  More...
 
virtual void putUnsignedInt (unsigned int value)
  More...
 
virtual void putUnsignedLong (unsigned long value)
  More...
 
virtual void putUnsignedLongLong (unsigned long long value)
  More...
 
virtual void putUnsignedShort (unsigned short value)
  More...
 
virtual void putUString (const RWBasicUString &value)
  More...
 
virtual void putWchar_t (wchar_t value)
  More...
 
virtual void putWCharacter (wchar_t value)
  More...
 
virtual void putWString (const RWWString &value)
  More...
 
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)
 
- Static Public Attributes inherited from RWXmlObjectStreamCommon
static const char * associationTag
  More...
 
static const char * assocKeyTag
  More...
 
static const char * assocValueTag
  More...
 
static const char * elementPosAttr
  More...
 
static const char * IdAttr
  More...
 
static const char * IdRefAttr
  More...
 
static const char * mapCountAttr
  More...
 
static const char * mapKeyTypeAttr
  More...
 
static const char * mapTag
  More...
 
static const char * mapValueTypeAttr
  More...
 
static const char * memberNameAttr
  More...
 
static const char * memberTag
  More...
 
static const char * memberTypeAttr
  More...
 
static const char * nestedObjectTag
  More...
 
static const char * objectNameAttr
  More...
 
static const char * objectRefTag
  More...
 
static const char * objectRefTagLocal
  More...
 
static const char * objectTag
 
static const char * objectTypeAttr
  More...
 
static const char * primitiveTag
  More...
 
static const char * rwEncodingNamespaceValue
  More...
 
static const char * rwNamespace
  More...
 
static const char * rwNamespaceAttr
  More...
 
static const char * rwNamespaceValue
  More...
 
static const char * seqCountAttr
  More...
 
static const char * seqTypeAttr
  More...
 
static const char * sequenceElementTag
  More...
 
static const char * sequenceTag
  More...
 
static const char * xsdNamespace
  More...
 
static const char * xsdNamespaceAttr
  More...
 
static const char * xsdNamespaceValue
  More...
 
static const char * xsiNamespace
  More...
 
static const char * xsiNamespaceAttr
  More...
 
static const char * xsiNamespaceValue
  More...
 
- Protected Attributes inherited from RWObjectOutputStreamImp
RWCString nameForNextObject_
 

Detailed Description

template<class Transform>
class RWTTransformObjectOutputStreamImp< Transform >

This class uses RWXmlObjectOutputStreamImp and RWTTransformOutputStreamImp to construct an XML stream that applies a generic transformation to the XML document before writing it out to the sink.

Example

// Create a strstream to serve as our sink
ostrstream s;
// Create a transformation object
MyTransform t;
// Create an XML data stream using the strstream
// Write integer value `1' to XML data stream
out << 1;

Constructor & Destructor Documentation

template<class Transform >
RWTTransformObjectOutputStreamImp< Transform >::RWTTransformObjectOutputStreamImp ( std::ostream &  ostr,
Transform  transformer,
const RWCString rootElementType,
bool  escape 
)
inlineprotected

Used by the make() function and potentially by derived classes to initialize an output stream and to insert a transformation of the serialized object data based on the transformation object transformer.

The parameter ostr is a handle to the initialized stream.

The parameter transformer is a transformation object that must supply a public interface function transform(istream&,ostream&).

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.

template<class Transform >
RWTTransformObjectOutputStreamImp< Transform >::RWTTransformObjectOutputStreamImp ( std::ostream &  ostr,
Transform  transformer,
std::ios *&  formatter,
const RWCString rootElementType,
bool  escape 
)
inlineprotected

Used by the make() function and potentially by derived classes to initialize an output stream and to insert a transformation of the serialized object data based on the transformation object transformer.

The parameter ostr is a handle to the initialized stream.

The parameter transformer is a transformation object that must supply a public interface function transform(istream&,ostream&).

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

template<class Transform >
static RWObjectOutputStream RWTTransformObjectOutputStreamImp< Transform >::make ( std::ostream &  sink,
Transform  transformer,
const RWCString rootElementType = nestedObjectTag,
bool  escape = true 
)
inlinestatic

Constructs an RWTTransformObjectOutputStreamImp instance and returns a handle to it. The constructed instance applies a generic transformation to the serialized object data and then passes the data to the output stream sink.

The parameter transformer is a transformation object that must supply a public interface function transform(istream&,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.

template<class Transform >
static RWObjectOutputStream RWTTransformObjectOutputStreamImp< Transform >::make ( std::ostream &  sink,
Transform  transformer,
std::ios *&  formatter,
const RWCString rootElementType = nestedObjectTag,
bool  escape = true 
)
inlinestatic

Constructs an RWTTransformObjectOutputStreamImp instance and returns a handle to it. The constructed instance applies a generic transformation to the serialized object data and then passes the data to the output stream sink.

The parameter transformer is a transformation object that must supply a public interface function transform(istream&,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.


Copyright © 2014 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.
Provide feedback to Rogue Wave about its documentation.