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.7.1
 1.7.1