Avro C++
api
ResolvingReader.hh
1
/*
2
* Licensed to the Apache Software Foundation (ASF) under one
3
* or more contributor license agreements. See the NOTICE file
4
* distributed with this work for additional information
5
* regarding copyright ownership. The ASF licenses this file
6
* to you under the Apache License, Version 2.0 (the
7
* "License"); you may not use this file except in compliance
8
* with the License. You may obtain a copy of the License at
9
*
10
* https://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*/
18
19
#ifndef avro_ResolvingReader_hh__
20
#define avro_ResolvingReader_hh__
21
22
#include <boost/noncopyable.hpp>
23
#include <stdint.h>
24
25
#include "Config.hh"
26
#include "Reader.hh"
27
#include "
ResolverSchema.hh
"
28
29
namespace
avro
{
30
31
class
AVRO_DECL
ResolvingReader
:
private
boost::noncopyable {
32
33
public
:
34
ResolvingReader
(
const
ResolverSchema
&schema,
const
InputBuffer &in) : reader_(in),
35
schema_(schema) {}
36
37
template
<
typename
T>
38
void
parse
(T &
object
) {
39
schema_.parse(reader_,
reinterpret_cast<
uint8_t *
>
(&
object
));
40
}
41
42
private
:
43
Reader
reader_;
44
ResolverSchema
schema_;
45
};
46
47
}
// namespace avro
48
49
#endif
ResolverSchema.hh
avro::ResolvingReader
Definition:
ResolvingReader.hh:31
avro::ResolverSchema
Definition:
ResolverSchema.hh:38
avro::parse
void parse(Reader &p, T &val)
The main parse entry point function.
Definition:
AvroParse.hh:36
avro
A bunch of templates and specializations for encoding and decoding specific types.
Definition:
AvroParse.hh:30
avro::ReaderImpl< NullValidator >
Generated by
1.8.17