Base class for all object input stream implementations. More...
#include <rw/serial/RWObjectInputStreamImp.h>
Public Member Functions | |
virtual void | closeContext (bool readContext=true) |
virtual void | endAssoc () |
virtual void | endBlock ()=0 |
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 * | getNewObject (const std::type_info *base)=0 |
virtual void | getString (RWCString &value)=0 |
virtual void | getSymbol (RWSymbol &value) |
virtual void | getUString (RWBasicUString &value)=0 |
virtual void | getWString (RWWString &value)=0 |
virtual void | openContext (bool readContext=true) |
virtual void | peekChar (char &value) |
virtual void | peekCharacter (char &value) |
virtual RWSymbol | readTypeInfo ()=0 |
virtual void | rememberObject (const void *obj)=0 |
virtual void | startAssocKey () |
virtual void | startAssocValue () |
virtual RWSymbol | startBlock ()=0 |
virtual void | startElement (int &) |
virtual RWSymbol | startMap (int &count, RWStreamType &keyType, RWStreamType &valueType)=0 |
virtual bool | startMember (RWSymbol &memberName, RWStreamType &memberType)=0 |
virtual void | startParent (const RWSymbol &) |
virtual RWSymbol | startSequence (int &count, RWStreamType &elementType)=0 |
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 () |
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 |
Base class for all object input stream implementations. The derivation from filtered data input stream provides default implementations for output of all primitive types and allows the low level stream formatting to be controlled by delegation to a separate data input stream object.
See the corresponding handle class, RWObjectInputStream, for the description of the object input stream interface.
|
inlineprotected |
Used by derived classes to initialize the attached source stream. Throws no exceptions.
sourceStream | Handle to the attached source stream. |
|
inlinevirtual |
Called by RWWithObjectInputContext dtor
to close an open context.
|
protectedpure virtual |
Really closes an open context, called when closeContext() calls match the number of openContext() calls.
Implemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
|
inlinevirtual |
Called by the input operators for association types after each value.
Reimplemented in RWXmlObjectInputStreamImp, and RWEnhancedXmlObjectInputStreamImp.
|
pure virtual |
Inputs tokens that identify the end of an object.
Implemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
|
inlinevirtual |
Called by the input operators for collection types after each element in a sequence.
Reimplemented in RWXmlObjectInputStreamImp, and RWEnhancedXmlObjectInputStreamImp.
|
inlinevirtual |
Called by the input operators for association types after all the pairs.
Reimplemented in RWXmlObjectInputStreamImp, and RWEnhancedXmlObjectInputStreamImp.
|
inlinevirtual |
Called by streamContents() after each data member is read.
Reimplemented in RWXmlObjectInputStreamImp, and RWEnhancedXmlObjectInputStreamImp.
|
inlinevirtual |
Inputs tokens that identify the end of an parent class.
|
inlinevirtual |
Called by the input operators for collection types at the end of a sequence.
Reimplemented in RWXmlObjectInputStreamImp, and RWEnhancedXmlObjectInputStreamImp.
|
virtual |
Forward reads a single char
value from the attached source stream. Value stored by peekChar() is used if available.
value | The char value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
Reimplemented in RWXmlObjectInputStreamImp, and RWEnhancedXmlObjectInputStreamImp.
|
virtual |
Forward reads a single char
value from the attached source stream. Value stored by peekCharacter() is used if available.
value | The char value to be read from the attached source stream. |
Reimplemented from RWFilteredDataInputStreamImp.
Reimplemented in RWXmlObjectInputStreamImp, and RWEnhancedXmlObjectInputStreamImp.
|
pure 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. |
Implemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
|
pure virtual |
Reads an RWCString value from the stream.
value | The RWCString value to be read from the stream. |
Implemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
|
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 RWFilteredDataInputStreamImp.
Reimplemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
|
virtual |
Reads an RWSymbol value from the stream.
value | The RWSymbol value to be read from the stream. |
Reimplemented in RWXmlObjectInputStreamImp, and RWEnhancedXmlObjectInputStreamImp.
|
pure virtual |
Reads an RWBasicUString value from the stream.
value | The RWBasicUString value to be read from the stream. |
Implemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
|
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 RWFilteredDataInputStreamImp.
Reimplemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
|
pure virtual |
Reads an RWWString value from the stream.
value | The RWWString value to be read from the stream. |
Implemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
|
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 RWFilteredDataInputStreamImp.
Reimplemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
|
inlinevirtual |
Called by RWWithObjectInputContext ctor
to open a context in which multiple references to a single object are resolved.
|
protectedpure virtual |
Really opens a new context, called by openContext() when a context is not already open.
Implemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
|
virtual |
Forward reads a single char
value from the attached source stream. Value is stored for subsequent call to getChar().
value | The char value to be read from the attached source stream. |
|
virtual |
Forward reads a single char
value from the attached source stream. Value is stored for subsequent call to getCharacter().
value | The char value to be read from the attached source stream. |
|
pure virtual |
Reads the type information for an class instance from the stream and returns it as a symbol.
Implemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
|
pure virtual |
Called by streaming operators to record each instance streamed in, in case it is referenced again in the same context.
Implemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
|
inlinevirtual |
Called by the input operators for association types before each key.
Reimplemented in RWXmlObjectInputStreamImp, and RWEnhancedXmlObjectInputStreamImp.
|
inlinevirtual |
Called by the input operators for association types after each key and before each value.
Reimplemented in RWXmlObjectInputStreamImp, and RWEnhancedXmlObjectInputStreamImp.
|
pure 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.
Implemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
|
inlinevirtual |
Called by the input operators for collection types before each element in a sequence.
Reimplemented in RWXmlObjectInputStreamImp, and RWEnhancedXmlObjectInputStreamImp.
|
pure 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. |
Implemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
|
pure 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
.
Implemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
|
inlinevirtual |
Inputs tokens that identify the start of a parent class.
|
pure 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. |
Implemented in RWXmlObjectInputStreamImp, RWEnhancedXmlObjectInputStreamImp, and RWCompactObjectInputStreamImp.
Copyright © 2021 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |