Reads objects encoded in a compact format from the supplied RWDataInputStream. More...
#include <rw/serial/RWCompactObjectInputStreamImp.h>
Public Member Functions | |
virtual void | endBlock () |
virtual void * | getNewObject (const std::type_info *base) |
virtual void | getString (RWCString &str) |
virtual void | getUString (RWBasicUString &str) |
virtual void | getWString (RWWString &str) |
virtual RWSymbol | readTypeInfo () |
virtual void | rememberObject (const void *obj) |
virtual RWSymbol | startBlock () |
virtual RWSymbol | startMap (int &count, RWStreamType &keyType, RWStreamType &valueType) |
virtual bool | startMember (RWSymbol &memberName, RWStreamType &memberType) |
virtual RWSymbol | startSequence (int &count, RWStreamType &elementType) |
Public Member Functions inherited from RWObjectInputStreamImp | |
virtual void | closeContext (bool readContext=true) |
virtual void | endAssoc () |
virtual void | endElement () |
virtual void | endMap () |
virtual void | endMember () |
virtual void | endParent () |
virtual void | endSequence () |
virtual void | getChar (char &value) |
virtual void | getCharacter (char &value) |
virtual void | getSymbol (RWSymbol &value) |
virtual void | openContext (bool readContext=true) |
virtual void | peekChar (char &value) |
virtual void | peekCharacter (char &value) |
virtual void | startAssocKey () |
virtual void | startAssocValue () |
virtual void | startElement (int &) |
virtual void | startParent (const RWSymbol &) |
Public Member Functions inherited from RWFilteredDataInputStreamImp | |
virtual | ~RWFilteredDataInputStreamImp () |
virtual RWSize | available () const |
virtual void | close () |
virtual void | getBool (bool &value) |
virtual RWSize | getBools (bool *arrayPt, RWSize count) |
virtual RWSize | getChars (char *arrayPt, RWSize count) |
virtual RWSize | getDelimitedString (char *string, RWSize maxCount, char delim) |
virtual RWSize | getDelimitedUString (RWUChar *ustring, RWSize maxCount, RWUChar delim) |
virtual RWSize | getDelimitedWString (wchar_t *wstring, RWSize maxCount, wchar_t delim) |
virtual void | getDouble (double &value) |
virtual RWSize | getDoubles (double *arrayPt, RWSize count) |
virtual void | getFloat (float &value) |
virtual RWSize | getFloats (float *arrayPt, RWSize count) |
virtual void | getInt (int &value) |
virtual RWSize | getInts (int *arrayPt, RWSize count) |
virtual void | getLong (long &value) |
virtual void | getLongDouble (long double &value) |
virtual RWSize | getLongDoubles (long double *arrayPt, RWSize count) |
virtual void | getLongLong (long long &value) |
virtual RWSize | getLongLongs (long long *arrayPt, RWSize count) |
virtual RWSize | getLongs (long *arrayPt, RWSize count) |
virtual void | getShort (short &value) |
virtual RWSize | getShorts (short *arrayPt, RWSize count) |
virtual void | getSignedChar (signed char &value) |
virtual RWSize | getSignedChars (signed char *arrayPt, RWSize count) |
virtual void | getSizeT (size_t &value) |
virtual void | getUCharacter (RWUChar &value) |
virtual void | getUnsignedChar (unsigned char &value) |
virtual RWSize | getUnsignedChars (unsigned char *arrayPt, RWSize count) |
virtual void | getUnsignedInt (unsigned int &value) |
virtual RWSize | getUnsignedInts (unsigned int *arrayPt, RWSize count) |
virtual void | getUnsignedLong (unsigned long &value) |
virtual void | getUnsignedLongLong (unsigned long long &value) |
virtual RWSize | getUnsignedLongLongs (unsigned long long *arrayPt, RWSize count) |
virtual RWSize | getUnsignedLongs (unsigned long *arrayPt, RWSize count) |
virtual void | getUnsignedShort (unsigned short &value) |
virtual RWSize | getUnsignedShorts (unsigned short *arrayPt, RWSize count) |
virtual void | getWchar_t (wchar_t &value) |
virtual RWSize | getWchar_ts (wchar_t *arrayPt, RWSize count) |
virtual void | getWCharacter (wchar_t &value) |
virtual bool | isBad () const |
virtual bool | isEof () const |
virtual bool | isFail () const |
virtual bool | isGood () const |
virtual RWSize | skip (RWSize numUnits) |
Public Member Functions inherited from RWDataInputStreamImp | |
virtual | ~RWDataInputStreamImp () |
Public Member Functions inherited from RWInputStreamImp | |
virtual | ~RWInputStreamImp () |
Public Member Functions inherited from RWStreamImp | |
virtual | ~RWStreamImp () |
Static Public Member Functions | |
static RWObjectInputStream | make (const RWDataInputStream &source, bool annotateStream=false) |
Protected Member Functions | |
RWCompactObjectInputStreamImp (const RWDataInputStream &sourceStream, bool annotateStream) | |
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) | |
RWDataInputStream & | getSourceStream () |
const RWDataInputStream & | getSourceStream () 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) |
RWBodyBase & | operator= (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 |
RWMutexLock & | mutex () |
RWTMonitor< RWMutexLock > & | operator= (const RWTMonitor< RWMutexLock > &) |
void | release () |
bool | tryAcquire () |
Additional Inherited Members | |
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 |
The class RWCompactObjectInputStreamImp reads objects encoded in a compact format from the supplied RWDataInputStream. The format of this stream resembles that produced when RWCollectable instances are persisted using RW virtual streams. Implements the body idiom from the handle/body pattern. The stream can optionally be annotated with member (attribute) name and type information to support generic parsing.
|
inlineprotected |
Used by derived classes to initialize the next processing stream. Throws no exceptions.
sourceStream | Serves as a handle to the previous processing stream. |
annotateStream | Indicates whether the stream is annotated. |
|
protectedvirtual |
Really closes an open context, called when closeContext() calls match the number of openContext() calls.
Implements RWObjectInputStreamImp.
|
virtual |
Inputs tokens that identify the end of an object.
Implements RWObjectInputStreamImp.
|
virtual |
Reads the dynamic type information (derived class) from the input stream, and factories an instance of this type.
base | Represents the static type (base class) of the field being read. |
Implements RWObjectInputStreamImp.
|
virtual |
Reads an RWCString value from the stream.
value | The RWCString value to be read from the stream. |
Implements RWObjectInputStreamImp.
|
inlineprotectedvirtual |
Forward the reading of a string of narrow characters from the attached source stream. The function returns the number of narrow characters read.
string | A pointer to the first element of the string. The string must have been pre-allocated to contain at least count narrow characters. |
count | The number of narrow character(s) to be read from the stream. |
Reimplemented from RWObjectInputStreamImp.
|
virtual |
Reads an RWBasicUString value from the stream.
value | The RWBasicUString value to be read from the stream. |
Implements RWObjectInputStreamImp.
|
inlineprotectedvirtual |
Forward the reading of a string of UTF-16 characters from the attached source stream. The function returns the number of UTF-16 characters read.
ustring | A pointer to the first element of the string. The string must have been pre-allocated to contain at least count unicode characters. |
count | The number of unicode character(s) to be read from the stream. |
Reimplemented from RWObjectInputStreamImp.
|
virtual |
Reads an RWWString value from the stream.
value | The RWWString value to be read from the stream. |
Implements RWObjectInputStreamImp.
|
inlineprotectedvirtual |
Forward the reading of a string of wide characters from the attached source stream. The function returns the number of wide characters read.
wstring | A pointer to the first element of the string. The string must have been pre-allocated to contain at least count wide characters. |
count | The number of wide character(s) to be read from the stream. |
Reimplemented from RWObjectInputStreamImp.
|
static |
Constructs an RWCompactObjectInputStreamImp instance that uses source as its source of bytes, and returns a handle to it. Throws no exceptions.
source | The data stream used as the source of bytes. |
annotateStream | Indicates whether the stream is annotated. |
|
protectedvirtual |
Really opens a new context, called by openContext() when a context is not already open.
Implements RWObjectInputStreamImp.
|
virtual |
Reads the type information for an class instance from the stream and returns it as a symbol.
Implements RWObjectInputStreamImp.
|
virtual |
Called by streaming operators to record each instance streamed in, in case it is referenced again in the same context.
Implements RWObjectInputStreamImp.
|
virtual |
Inputs tokens that identify the start of a new object. Returns an RWSymbol representing the new object. Depending on the implementation class associated with this handle, the RWSymbol may be empty.
Implements RWObjectInputStreamImp.
|
virtual |
Called by the input operators for association types (hash tables, etc.) at the start of a sequence. Returns an RWSymbol representing the collection.
count | Contains the number of items in the association. |
keyType | Contains the type of key in the association. |
valueType | Contains the type of value in the association. |
Implements RWObjectInputStreamImp.
|
virtual |
Called for before each data member by the streamContents() function, metadata about the field may or may not be read from the stream depending on the implementation. If data is read (returning true
), then parameter memberName will contain the name of the member. Otherwise returns false
.
Implements RWObjectInputStreamImp.
|
virtual |
Called by the input operators for collection types at the start of a sequence. Returns an RWSymbol representing the collection.
count | Contains the number of items in the collection. |
elementType | Contains the type of element in the collection. |
Implements RWObjectInputStreamImp.
Copyright © 2021 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |