Avro C++
Protected Member Functions | Protected Attributes | List of all members
avro::NodeImpl< NameConcept, LeavesConcept, LeafNamesConcept, SizeConcept > Class Template Referenceabstract

Implementation details for Node. More...

#include <NodeImpl.hh>

Inheritance diagram for avro::NodeImpl< NameConcept, LeavesConcept, LeafNamesConcept, SizeConcept >:
avro::Node avro::NodeArray avro::NodeEnum avro::NodeFixed avro::NodeMap avro::NodePrimitive avro::NodeRecord avro::NodeSymbolic avro::NodeUnion

Protected Member Functions

 NodeImpl (Type type)
 
 NodeImpl (Type type, const NameConcept &name, const LeavesConcept &leaves, const LeafNamesConcept &leafNames, const SizeConcept &size)
 
 NodeImpl (Type type, const NameConcept &name, const concepts::SingleAttribute< std::string > &doc, const LeavesConcept &leaves, const LeafNamesConcept &leafNames, const SizeConcept &size)
 
void swap (NodeImpl &impl)
 
bool hasName () const
 
void doSetName (const Name &name)
 
const Namename () const
 
void doSetDoc (const std::string &doc)
 
const std::string & getDoc () const
 
void doAddLeaf (const NodePtr &newLeaf)
 
size_t leaves () const
 
const NodePtr & leafAt (int index) const
 
void doAddName (const std::string &name)
 
size_t names () const
 
const std::string & nameAt (int index) const
 
bool nameIndex (const std::string &name, size_t &index) const
 
void doSetFixedSize (int size)
 
int fixedSize () const
 
virtual bool isValid () const =0
 
void printBasicInfo (std::ostream &os) const
 
void setLeafToSymbolic (int index, const NodePtr &node)
 
SchemaResolution furtherResolution (const Node &reader) const
 
- Protected Member Functions inherited from avro::Node
void checkLock () const
 
virtual void checkName (const Name &name) const
 

Protected Attributes

NameConcept nameAttribute_
 
concepts::SingleAttribute< std::string > docAttribute_
 
LeavesConcept leafAttributes_
 Doc used to compare schemas.
 
LeafNamesConcept leafNameAttributes_
 
SizeConcept sizeAttribute_
 
concepts::NameIndexConcept< LeafNamesConcept > nameIndex_
 

Additional Inherited Members

- Public Member Functions inherited from avro::Node
 Node (Type type)
 
Type type () const
 
LogicalType logicalType () const
 
void setLogicalType (LogicalType logicalType)
 
void lock ()
 
bool locked () const
 
void setName (const Name &name)
 
void setDoc (const std::string &doc)
 
void addLeaf (const NodePtr &newLeaf)
 
virtual const GenericDatumdefaultValueAt (int index)
 
void addName (const std::string &name)
 
void setFixedSize (int size)
 
virtual SchemaResolution resolve (const Node &reader) const =0
 
virtual void printJson (std::ostream &os, int depth) const =0
 
virtual void printDefaultToJson (const GenericDatum &g, std::ostream &os, int depth) const =0
 

Detailed Description

template<class NameConcept, class LeavesConcept, class LeafNamesConcept, class SizeConcept>
class avro::NodeImpl< NameConcept, LeavesConcept, LeafNamesConcept, SizeConcept >

Implementation details for Node.

NodeImpl represents all the avro types, whose properties are enabled and disabled by selecting concept classes.


The documentation for this class was generated from the following file: