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 "Config.hh"
00026 #include "ResolverSchema.hh"
00027 #include "Reader.hh"
00028
00029 namespace avro {
00030
00031 class AVRO_DECL ResolvingReader : private boost::noncopyable
00032 {
00033
00034 public:
00035
00036 ResolvingReader(const ResolverSchema &schema, const InputBuffer &in) :
00037 reader_(in),
00038 schema_(schema)
00039 {}
00040
00041 template<typename T>
00042 void parse(T &object) {
00043 schema_.parse(reader_, reinterpret_cast<uint8_t *>(&object));
00044 }
00045
00046 private:
00047
00048 Reader reader_;
00049 ResolverSchema schema_;
00050 };
00051
00052 }
00053
00054 #endif