19 #ifndef avro_Generic_hh__ 20 #define avro_Generic_hh__ 22 #include <boost/utility.hpp> 28 #include "GenericDatum.hh" 36 const bool isResolving_;
122 const std::pair<ValidSchema, GenericDatum>& p) {
123 GenericWriter::write(e, p.second, p.first);
128 GenericReader::read(d, p.second, p.first);
138 GenericWriter::write(e, g);
143 GenericReader::read(d, g);
Low level support for encoding avro values.
A bunch of templates and specializations for encoding and decoding specific types.
Definition: AvroParse.hh:30
Codec_traits tells avro how to encode and decode an object of given type.
Definition: Generic.hh:112
static void decode(Decoder &d, GenericDatum &g)
Decodes.
Definition: Generic.hh:142
static void write(Encoder &e, const GenericDatum &g, const ValidSchema &)
Writes a generic datum on to the stream, using the given schema.
Definition: Generic.hh:107
std::shared_ptr< Encoder > EncoderPtr
Shared pointer to Encoder.
Definition: Encoder.hh:147
std::shared_ptr< Decoder > DecoderPtr
Shared pointer to Decoder.
Definition: Decoder.hh:177
static void encode(Encoder &e, const GenericDatum &g)
Encodes.
Definition: Generic.hh:137
static void encode(Encoder &e, const std::pair< ValidSchema, GenericDatum > &p)
Encodes.
Definition: Generic.hh:121
A utility class to read generic datum from decoders.
Definition: Generic.hh:34
A ValidSchema is basically a non-mutable Schema that has passed some minumum of sanity checks...
Definition: ValidSchema.hh:40
static void decode(Decoder &d, std::pair< ValidSchema, GenericDatum > &p)
Decodes.
Definition: Generic.hh:127
A utility class to write generic datum to encoders.
Definition: Generic.hh:82
The abstract base class for all Avro encoders.
Definition: Encoder.hh:52
Decoder is an interface implemented by every decoder capable of decoding Avro data.
Definition: Decoder.hh:48
Low level support for decoding avro values.
void drain()
Drains any residual bytes in the input stream (e.g.
Definition: Generic.hh:64
Generic datum which can hold any Avro type.
Definition: GenericDatum.hh:61