Avro C++

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

Implementation details for Node. More...

`#include <NodeImpl.hh>`

Inheritance diagram for avro::NodeImpl< NameConcept, LeavesConcept, LeafNamesConcept, MultiAttributesConcept, SizeConcept >:

## 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

## Detailed Description

### template<class NameConcept, class LeavesConcept, class LeafNamesConcept, class MultiAttributesConcept, class SizeConcept>
class avro::NodeImpl< NameConcept, LeavesConcept, LeafNamesConcept, MultiAttributesConcept, 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:

- api/NodeImpl.hh