Go to the documentation of this file.
19 #ifndef avro_Schema_hh__
20 #define avro_Schema_hh__
23 #include "NodeImpl.hh"
24 #include "CustomAttributes.hh"
39 virtual ~
Schema() =
default;
45 const NodePtr &root()
const {
54 explicit Schema(NodePtr node) : node_(std::move(node)) {}
103 void addField(
const std::string &name,
const Schema &fieldSchema);
105 void addField(
const std::string &name,
const Schema &fieldSchema,
108 std::string getDoc()
const;
109 void setDoc(
const std::string &);
115 void addSymbol(
const std::string &symbol);
133 void addType(
const Schema &typeSchema);
@ AVRO_NULL
Definition: Types.hh:40
Definition: Schema.hh:118
Definition: Schema.hh:130
Node is the building block for parse trees.
Definition: Node.hh:91
@ AVRO_LONG
Definition: Types.hh:36
Definition: Schema.hh:136
@ AVRO_FLOAT
Definition: Types.hh:37
@ AVRO_BOOL
Definition: Types.hh:39
@ AVRO_STRING
Definition: Types.hh:33
@ AVRO_BYTES
Definition: Types.hh:34
Definition: Schema.hh:141
Definition: CustomAttributes.hh:33
Definition: Schema.hh:100
Definition: NodeImpl.hh:242
@ AVRO_INT
Definition: Types.hh:35
A bunch of templates and specializations for encoding and decoding specific types.
Definition: AvroParse.hh:30
@ AVRO_DOUBLE
Definition: Types.hh:38
The root Schema object is a base class. Nobody constructs this class directly.
Definition: Schema.hh:37
Definition: Schema.hh:124
Type
The "type" for the schema.
Definition: Types.hh:31
Definition: Schema.hh:112