Avro C++
|
Implementation details for Node. More...
#include <NodeImpl.hh>
Protected Member Functions | |
NodeImpl (Type type) | |
NodeImpl (Type type, const NameConcept &name, const LeavesConcept &leaves, const LeafNamesConcept &leafNames, const MultiAttributesConcept &customAttributes, const SizeConcept &size) | |
NodeImpl (Type type, const NameConcept &name, const concepts::SingleAttribute< std::string > &doc, const LeavesConcept &leaves, const LeafNamesConcept &leafNames, const MultiAttributesConcept &customAttributes, const SizeConcept &size) | |
void | swap (NodeImpl &impl) |
bool | hasName () const override |
void | doSetName (const Name &name) override |
const Name & | name () const override |
void | doSetDoc (const std::string &doc) override |
const std::string & | getDoc () const override |
void | doAddLeaf (const NodePtr &newLeaf) final |
size_t | leaves () const override |
const NodePtr & | leafAt (size_t index) const override |
void | doAddName (const std::string &name) override |
size_t | names () const override |
const std::string & | nameAt (size_t index) const override |
bool | nameIndex (const std::string &name, size_t &index) const override |
void | doSetFixedSize (size_t size) override |
size_t | fixedSize () const override |
bool | isValid () const override=0 |
void | printBasicInfo (std::ostream &os) const override |
void | setLeafToSymbolic (size_t index, const NodePtr &node) override |
void | doAddCustomAttribute (const CustomAttributes &customAttributes) override |
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_ |
MultiAttributesConcept | customAttributes_ |
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 GenericDatum & | defaultValueAt (size_t index) |
void | addName (const std::string &name) |
void | setFixedSize (size_t size) |
void | addCustomAttributesForField (const CustomAttributes &customAttributes) |
virtual SchemaResolution | resolve (const Node &reader) const =0 |
virtual void | printJson (std::ostream &os, size_t depth) const =0 |
virtual void | printDefaultToJson (const GenericDatum &g, std::ostream &os, size_t depth) const =0 |
Implementation details for Node.
NodeImpl represents all the avro types, whose properties are enabled and disabled by selecting concept classes.