#include <coherence/io/pof/WritingPofHandler.hpp>
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 > | f_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.