Avro C++
|
ResolvingDecoder is derived from Decoder, with an additional function to obtain the field ordering of fields within a record. More...
#include <Decoder.hh>
Public Member Functions | |
virtual const std::vector< size_t > & | fieldOrder ()=0 |
Returns the order of fields for records. More... | |
Public Member Functions inherited from avro::Decoder | |
virtual void | init (InputStream &is)=0 |
All future decoding will come from is, which should be valid until replaced by another call to init() or this Decoder is destructed. | |
virtual void | decodeNull ()=0 |
Decodes a null from the current stream. | |
virtual bool | decodeBool ()=0 |
Decodes a bool from the current stream. | |
virtual int32_t | decodeInt ()=0 |
Decodes a 32-bit int from the current stream. | |
virtual int64_t | decodeLong ()=0 |
Decodes a 64-bit signed int from the current stream. | |
virtual float | decodeFloat ()=0 |
Decodes a single-precision floating point number from current stream. | |
virtual double | decodeDouble ()=0 |
Decodes a double-precision floating point number from current stream. | |
std::string | decodeString () |
Decodes a UTF-8 string from the current stream. | |
virtual void | decodeString (std::string &value)=0 |
Decodes a UTF-8 string from the stream and assigns it to value. | |
virtual void | skipString ()=0 |
Skips a string on the current stream. | |
std::vector< uint8_t > | decodeBytes () |
Decodes arbitrary binary data from the current stream. | |
virtual void | decodeBytes (std::vector< uint8_t > &value)=0 |
Decodes arbitrary binary data from the current stream and puts it in value. | |
virtual void | skipBytes ()=0 |
Skips bytes on the current stream. | |
std::vector< uint8_t > | decodeFixed (size_t n) |
Decodes fixed length binary from the current stream. More... | |
virtual void | decodeFixed (size_t n, std::vector< uint8_t > &value)=0 |
Decodes a fixed from the current stream. More... | |
virtual void | skipFixed (size_t n)=0 |
Skips fixed length binary on the current stream. | |
virtual size_t | decodeEnum ()=0 |
Decodes enum from the current stream. | |
virtual size_t | arrayStart ()=0 |
Start decoding an array. Returns the number of entries in first chunk. | |
virtual size_t | arrayNext ()=0 |
Returns the number of entries in next chunk. 0 if last. | |
virtual size_t | skipArray ()=0 |
Tries to skip an array. More... | |
virtual size_t | mapStart ()=0 |
Start decoding a map. Returns the number of entries in first chunk. | |
virtual size_t | mapNext ()=0 |
Returns the number of entries in next chunk. 0 if last. | |
virtual size_t | skipMap ()=0 |
Tries to skip a map. More... | |
virtual size_t | decodeUnionIndex ()=0 |
Decodes a branch of a union. The actual value is to follow. | |
virtual void | drain ()=0 |
Drains any additional data at the end of the current entry in a stream. More... | |
ResolvingDecoder is derived from Decoder, with an additional function to obtain the field ordering of fields within a record.
|
pure virtual |
Returns the order of fields for records.
The order of fields could be different from the order of their order in the schema because the writer's field order could be different. In order to avoid buffering and later use, we return the values in the writer's field order.