00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef avro_ResolvingReader_hh__
00020 #define avro_ResolvingReader_hh__
00021
00022 #include <stdint.h>
00023 #include <boost/noncopyable.hpp>
00024
00025 #include "ResolverSchema.hh"
00026 #include "Reader.hh"
00027
00028 namespace avro {
00029
00030 class ResolvingReader : private boost::noncopyable
00031 {
00032
00033 public:
00034
00035 ResolvingReader(const ResolverSchema &schema, const InputBuffer &in) :
00036 reader_(in),
00037 schema_(schema)
00038 {}
00039
00040 template<typename T>
00041 void parse(T &object) {
00042 schema_.parse(reader_, reinterpret_cast<uint8_t *>(&object));
00043 }
00044
00045 private:
00046
00047 Reader reader_;
00048 ResolverSchema schema_;
00049 };
00050
00051 }
00052
00053 #endif