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