This is a generic "untyped" node that may store values for all possible attributes of Avro complex types. More...
#include <CompilerNode.hh>
Public Types | |
| enum | AttributeType { NONE, FIELDS, VALUES, ITEMS, TYPES } |
Public Member Functions | |
| CompilerNode (const CompilerNode &rhs) | |
| AttributeType | attributeType () const |
| void | setAttributeType (AttributeType attributeType) |
| Type | type () const |
| void | setType (Type type) |
| void | addNode (const NodePtr &node) |
Public Attributes | |
|
concepts::SingleAttribute < std::string > | nameAttribute_ |
| concepts::SingleAttribute< int > | sizeAttribute_ |
| concepts::MultiAttribute< NodePtr > | fieldsAttribute_ |
|
concepts::MultiAttribute < std::string > | fieldsNamesAttribute_ |
|
concepts::MultiAttribute < std::string > | symbolsAttribute_ |
|
concepts::SingleAttribute < NodePtr > | itemsAttribute_ |
|
concepts::SingleAttribute < NodePtr > | valuesAttribute_ |
| concepts::MultiAttribute< NodePtr > | typesAttribute_ |
| Type | type_ |
| AttributeType | attributeType_ |
This is a generic "untyped" node that may store values for all possible attributes of Avro complex types.
This allows a Node to be assembled by the compiler, before it knows what attributes the Node actually contains. All the Avro types defined (see NodeImpl) may be copy constructed from a CompilerNode, at which time the attributes actually required by the Avro type are copied from the CompilerNode, and all unused attributes are dropped.
1.6.1