Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
XML Streams Module Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

RWTParsedTransformInputStreamImp

Module:  XML Streams   Package:  XML Streams


RWTParsedTransformInputStreamImp FilteredInputStreamImp

Local Index

Members

Header File

#include <rw/xmlstreams/RWTParsedTransformInputStreamImp.h>

Description

The class RWTParsedTransformInputStreamImp implements a buffer that can be used with any kind of input stream. The size of the buffer is specified as a parameter to the static make() function that is used to create it. If the buffer as initialized is not large enough to contain the entire XML document, it grows as needed to be able to do so. It is more efficient, though, to allocate a buffer of sufficient size initially.

RWTParsedTransformInputStreamImp is a class template that is derived from one of its own template parameters.

The class is defined as

Public Typedefs

typedef InputStream
RWInputStream_type;

typedef typename InputStream::element_type
element_type;

typedef RWCString
string_type;

Static Public Member Functions

static InputStream
make(const InputStream& sourceStream, Transform transform);
static InputStream
make(const InputStream& sourceStream, Transform transform,
     RWSize bufSize);
static InputStream
make(const InputStream& sourceStream, Transform transform,
     element_type* buffer, RWSize bufSize);

Public Destructor

virtual
~RWTParsedTransformInputStreamImp();

Public Member Functions

virtual RWSize
available() const;
virtual bool
isEof() const;
virtual bool
isBad() const;
virtual bool
isFail() const;
virtual bool
isGood() const;
virtual element_type
read();
virtual RWSize
read(element_type* array, RWSize num);
virtual RWSize
readUntil(element_type* array, RWSize maxSize,
          element_type delim);
virtual RWSize
skip(RWSize numUnits);

Protected Constructors

RWTParsedTransformInputStreamImp(const InputStream& sourceStream,
                                  Transform transform);
RWTParsedTransformInputStreamImp(const InputStream& sourceStream,
                         Transform transform, RWSize bufSize);
RWTParsedTransformInputStreamImp(const InputStream& sourceStream, 
  Transform transform, element_type* buffer, RWSize bufSize);

Protected Member Functions

element_type*
eback() const;
element_type*
ebuf() const;
element_type*
egptr() const;
void
freeBuffer();
void
gbump(RWSize n);
element_type*
gptr() const;
void
putBack(element_type cur);
element_type
readAttribute(element_type cur, string_type& token);
element_type
readAttributes(element_type cur, RWXmlStreamElement& element);
element_type
readAttributeValue(element_type cur, string_type& token);
RWXmlStreamElement
readNextElement(element_type& cur,
const RWXmlStreamElement& parent);
element_type
readOne();
element_type
readToClose(element_type cur, string_type& token);
element_type
readToken(element_type cur, string_type& token);
element_type
readValue(element_type cur, RWXmlStreamElement& element);
element_type
readWholeName(element_type cur, string_type& token);
void
setBufferEnd(element_type* gend_arg);
void
setg(element_type* gbeg_arg, element_type* gcur_arg, 
  element_type* gend_arg);
void
transform();
bool
underflow();


Previous fileTop of DocumentContentsIndex pageNext file

© 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.