#include <coherence/io/pof/WritingPofHandler.hpp>
Inherits Object.
Inherited by WritingPofHandler::ComplexMap.
Public Types | |
typedef spec::Handle | Handle |
Complex Handle definition. | |
typedef spec::View | View |
Complex View definition. | |
typedef spec::Holder | Holder |
Complex Holder definition. | |
Public Member Functions | |
virtual void | onValue (int32_t iPos) |
Notify the Complex object that a value has been encountered. | |
virtual bool | isUniform () const |
Determine if the object encoding within the Complex type is uniform. | |
virtual int32_t | getUniformType () const |
If the object encoding is using uniform encoding, obtain the type id of the uniform type. | |
virtual bool | isSparse () const |
Determine if the position information is encoded with the values of the complex type, and if the Complex type is terminated in the POF stream with an illegal position (-1). | |
virtual Complex::Handle | pop () |
Pop this Complex object off the stack, returning the outer Complex object or NULL if there is none. | |
virtual Complex::View | pop () const |
Pop this Complex object off the stack, returning the outer Complex object or NULL if there is none. | |
Protected Member Functions | |
Complex (Complex::Handle hComplexCurrent, bool fEncodePosition) | |
Construct a Complex object for a data collection or user type. | |
Complex (Complex::Handle hComplexCurrent, bool fEncodePosition, int32_t nUniformTypeId) | |
Construct a Complex object for a uniformly-typed data collection. | |
Protected Attributes | |
const bool | m_fSparse |
Whether or not the position information is encoded. | |
const bool | m_fUniform |
Whether or not values within the complex type are uniformly encoded. | |
const int32_t | m_nTypeId |
The type ID, if uniform encoding is used. | |
FinalHandle< Complex > | m_hComplexOuter |
The Complex within which this Complex exists, to support nesting. |
Complex | ( | Complex::Handle | hComplexCurrent, | |
bool | fEncodePosition | |||
) | [protected] |
Complex | ( | Complex::Handle | hComplexCurrent, | |
bool | fEncodePosition, | |||
int32_t | nUniformTypeId | |||
) | [protected] |
virtual void onValue | ( | int32_t | iPos | ) | [virtual] |
Notify the Complex object that a value has been encountered.
iPos | the position that accompanied the value |
Reimplemented in WritingPofHandler::ComplexMap.
virtual bool isUniform | ( | ) | const [virtual] |
Determine if the object encoding within the Complex type is uniform.
Reimplemented in WritingPofHandler::ComplexMap.
virtual int32_t getUniformType | ( | ) | const [virtual] |
If the object encoding is using uniform encoding, obtain the type id of the uniform type.
Reimplemented in WritingPofHandler::ComplexMap.
virtual bool isSparse | ( | ) | const [virtual] |
Determine if the position information is encoded with the values of the complex type, and if the Complex type is terminated in the POF stream with an illegal position (-1).
virtual Complex::Handle pop | ( | ) | [virtual] |
virtual Complex::View pop | ( | ) | const [virtual] |
const bool m_fSparse [protected] |
Whether or not the position information is encoded.
This is true for user type properties and array elements.
const bool m_fUniform [protected] |
Whether or not values within the complex type are uniformly encoded.
This is expected for arrays of primitive types, for example.