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
RWTTransformObjectInputStreamImp< Transform > Class Template Reference

Constructs an XML input stream that applies a generic transformation to the XML document before reading it from the source. More...

#include <rw/xmlstreams/RWTTransformObjectInputStreamImp.h>

Inheritance diagram for RWTTransformObjectInputStreamImp< Transform >:
RWXmlObjectInputStreamImp RWObjectInputStreamImp RWXmlObjectStreamCommon RWFilteredDataInputStreamImp RWDataInputStreamImp RWInputStreamImp RWStreamImp RWBodyBase RWTCountingBody< RWMutexLock > RWTMonitor< RWMutexLock >

Static Public Member Functions

static RWObjectInputStream make (std::istream &source, Transform transformer, bool escape=true)
 
static RWObjectInputStream make (std::istream &source, Transform transformer, std::ios *&formatter, bool escape=true)
  More...
 
- Static Public Member Functions inherited from RWXmlObjectInputStreamImp
static RWObjectInputStream make (std::istream &source, bool escape=true)
 
static RWObjectInputStream make (std::istream &source, std::ios *&formatter, bool escape=true)
  More...
 
static RWObjectInputStream make (RWDataInputStream &source, 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

 RWTTransformObjectInputStreamImp (std::istream &istr, Transform transformer, bool escape)
 
 RWTTransformObjectInputStreamImp (std::istream &istr, Transform transformer, std::ios *&formatter, bool escape)
  More...
 
- Protected Member Functions inherited from RWXmlObjectInputStreamImp
 RWXmlObjectInputStreamImp (std::istream &sourceStream, bool escape)
 
 RWXmlObjectInputStreamImp (std::istream &sourceStream, std::ios *&formatter, bool escape)
  More...
 
 RWXmlObjectInputStreamImp (const RWDataInputStream &sourceStream, bool escape)
 
virtual void closeOuterContext (bool readContext)
 
virtual RWSize getString (char *string, RWSize count)
 
virtual RWSize getUString (RWUChar *ustring, RWSize count)
 
virtual RWSize getWString (wchar_t *wstring, RWSize count)
 
virtual void openOuterContext (bool readContext)
 
- Protected Member Functions inherited from RWObjectInputStreamImp
 RWObjectInputStreamImp (const RWDataInputStream &sourceStream)
 
- Protected Member Functions inherited from RWFilteredDataInputStreamImp
 RWFilteredDataInputStreamImp (const RWDataInputStream &sourceStream)
 
RWDataInputStreamgetSourceStream ()
 
const RWDataInputStreamgetSourceStream () const
 
- Protected Member Functions inherited from RWDataInputStreamImp
 RWDataInputStreamImp ()
 
- Protected Member Functions inherited from RWInputStreamImp
 RWInputStreamImp ()
 
- 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 RWXmlObjectInputStreamImp
virtual void endAssoc ()
 
virtual void endBlock ()
 
virtual void endElement ()
 
virtual void endMap ()
 
virtual void endMember ()
 
virtual void endSequence ()
 
virtual void getBool (bool &value)
  More...
 
virtual void getChar (char &value)
  More...
 
virtual void getCharacter (char &value)
  More...
 
virtual void getDouble (double &value)
  More...
 
virtual void getFloat (float &value)
  More...
 
virtual void getInt (int &value)
  More...
 
virtual void getLong (long &value)
  More...
 
virtual void getLongDouble (long double &value)
  More...
 
virtual void getLongLong (long long &value)
  More...
 
virtual void * getNewObject (const std::type_info *base)
 
virtual void getShort (short &value)
  More...
 
virtual void getSignedChar (signed char &value)
  More...
 
virtual void getSizeT (size_t &value)
  More...
 
virtual void getString (RWCString &str)
 
void getSymbol (RWSymbol &value)
 
virtual void getUCharacter (RWUChar &value)
  More...
 
virtual void getUnsignedChar (unsigned char &value)
  More...
 
virtual void getUnsignedInt (unsigned int &value)
  More...
 
virtual void getUnsignedLong (unsigned long &value)
  More...
 
virtual void getUnsignedLongLong (unsigned long long &value)
  More...
 
virtual void getUnsignedShort (unsigned short &value)
  More...
 
virtual void getUString (RWBasicUString &str)
  More...
 
virtual void getWchar_t (wchar_t &value)
  More...
 
virtual void getWCharacter (wchar_t &value)
  More...
 
virtual void getWString (RWWString &str)
  More...
 
virtual RWSymbol readTypeInfo ()
 
virtual void rememberObject (const void *obj)
 
virtual void startAssocKey ()
 
virtual void startAssocValue ()
 
virtual RWSymbol startBlock ()
 
virtual void startElement (int &position)
 
virtual RWSymbol startMap (int &count, RWStreamType &keyType, RWStreamType &valueType)
 
virtual bool startMember (RWSymbol &memberName, RWStreamType &memberType)
 
virtual RWSymbol startSequence (int &count, RWStreamType &elementType)
 
- 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...
 

Detailed Description

template<class Transform>
class RWTTransformObjectInputStreamImp< Transform >

This class uses RWXmlObjectInputStreamImp and RWTTransformInputStreamImp to construct an XML input stream that applies a generic transformation to the XML document before reading it from the source.

Example

// Open an fstream to serve as our source
ifstream s("foo.xml");
// Create a transformation object, which must have a
// transform(istream&,ostream&) interface
MyTransform t;
// Create an XML data stream using the fstream
// Read an integer from XML data stream.
int i;
in >> i;

Constructor & Destructor Documentation

template<class Transform >
RWTTransformObjectInputStreamImp< Transform >::RWTTransformObjectInputStreamImp ( std::istream &  istr,
Transform  transformer,
bool  escape 
)
inlineprotected

Used by the make() function and potentially by derived classes to initialize the source data stream and to insert into the stream a transformation of the XML document based on the transformation object transform.

The parameter istr 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 escape sets whether the input stream contains escapes for XML reserved characters that need to be unescaped. Usually this would be because the objects serialized out with RWXmlObjectOutputStreamImp contained 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 >
RWTTransformObjectInputStreamImp< Transform >::RWTTransformObjectInputStreamImp ( std::istream &  istr,
Transform  transformer,
std::ios *&  formatter,
bool  escape 
)
inlineprotected

Used by the make() function and potentially by derived classes to initialize the source data stream and to insert into the stream a transformation of the XML document based on the transformation object transform.

The parameter istr 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 escape sets whether the input stream contains escapes for XML reserved characters that need to be unescaped. Usually this would be because the objects serialized out with RWXmlObjectOutputStreamImp contained 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 RWObjectInputStream RWTTransformObjectInputStreamImp< Transform >::make ( std::istream &  source,
Transform  transformer,
bool  escape = true 
)
inlinestatic

Constructs an RWTTransformObjectInputStreamImp instance that uses the data stream source as its source of bytes, and returns a handle to it. The XML input stream includes a transformation of the XML document based on the transformation object transformer.

The parameter escape sets whether the primitive element values will be unescaped. By default, this parameter is set to true.

template<class Transform >
static RWObjectInputStream RWTTransformObjectInputStreamImp< Transform >::make ( std::istream &  source,
Transform  transformer,
std::ios *&  formatter,
bool  escape = true 
)
inlinestatic

Constructs an RWTTransformObjectInputStreamImp instance that uses the data stream source as its source of bytes, and returns a handle to it. The XML input stream includes a transformation of the XML document based on the transformation object transformer.

The parameter escape sets whether the primitive element values will be unescaped. By default, this parameter is set to true.


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.