blob: 3c04c0f0306be5302fd5179cd3b04a23c253f2e1 [file] [log] [blame]
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001// automatically generated by the FlatBuffers compiler, do not modify
2
3
4
5use std::mem;
6use std::cmp::Ordering;
7
8extern crate flatbuffers;
9use self::flatbuffers::EndianScalar;
10
11#[allow(unused_imports, dead_code)]
12pub mod namespace_a {
13
14 use std::mem;
15 use std::cmp::Ordering;
16
17 extern crate flatbuffers;
18 use self::flatbuffers::EndianScalar;
19
20pub enum TableInFirstNSOffset {}
21#[derive(Copy, Clone, Debug, PartialEq)]
22
23pub struct TableInFirstNS<'a> {
24 pub _tab: flatbuffers::Table<'a>,
25}
26
27impl<'a> flatbuffers::Follow<'a> for TableInFirstNS<'a> {
28 type Inner = TableInFirstNS<'a>;
29 #[inline]
30 fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
31 Self {
32 _tab: flatbuffers::Table { buf: buf, loc: loc },
33 }
34 }
35}
36
37impl<'a> TableInFirstNS<'a> {
38 #[inline]
39 pub fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
40 TableInFirstNS {
41 _tab: table,
42 }
43 }
44 #[allow(unused_mut)]
45 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
46 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
47 args: &'args TableInFirstNSArgs<'args>) -> flatbuffers::WIPOffset<TableInFirstNS<'bldr>> {
48 let mut builder = TableInFirstNSBuilder::new(_fbb);
49 if let Some(x) = args.foo_struct { builder.add_foo_struct(x); }
50 if let Some(x) = args.foo_table { builder.add_foo_table(x); }
51 builder.add_foo_enum(args.foo_enum);
52 builder.finish()
53 }
54
55 pub const VT_FOO_TABLE: flatbuffers::VOffsetT = 4;
56 pub const VT_FOO_ENUM: flatbuffers::VOffsetT = 6;
57 pub const VT_FOO_STRUCT: flatbuffers::VOffsetT = 8;
58
59 #[inline]
60 pub fn foo_table(&self) -> Option<namespace_b::TableInNestedNS<'a>> {
61 self._tab.get::<flatbuffers::ForwardsUOffset<namespace_b::TableInNestedNS<'a>>>(TableInFirstNS::VT_FOO_TABLE, None)
62 }
63 #[inline]
64 pub fn foo_enum(&self) -> namespace_b::EnumInNestedNS {
65 self._tab.get::<namespace_b::EnumInNestedNS>(TableInFirstNS::VT_FOO_ENUM, Some(namespace_b::EnumInNestedNS::A)).unwrap()
66 }
67 #[inline]
68 pub fn foo_struct(&self) -> Option<&'a namespace_b::StructInNestedNS> {
69 self._tab.get::<namespace_b::StructInNestedNS>(TableInFirstNS::VT_FOO_STRUCT, None)
70 }
71}
72
73pub struct TableInFirstNSArgs<'a> {
74 pub foo_table: Option<flatbuffers::WIPOffset<namespace_b::TableInNestedNS<'a >>>,
75 pub foo_enum: namespace_b::EnumInNestedNS,
76 pub foo_struct: Option<&'a namespace_b::StructInNestedNS>,
77}
78impl<'a> Default for TableInFirstNSArgs<'a> {
79 #[inline]
80 fn default() -> Self {
81 TableInFirstNSArgs {
82 foo_table: None,
83 foo_enum: namespace_b::EnumInNestedNS::A,
84 foo_struct: None,
85 }
86 }
87}
88pub struct TableInFirstNSBuilder<'a: 'b, 'b> {
89 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
90 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
91}
92impl<'a: 'b, 'b> TableInFirstNSBuilder<'a, 'b> {
93 #[inline]
94 pub fn add_foo_table(&mut self, foo_table: flatbuffers::WIPOffset<namespace_b::TableInNestedNS<'b >>) {
95 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<namespace_b::TableInNestedNS>>(TableInFirstNS::VT_FOO_TABLE, foo_table);
96 }
97 #[inline]
98 pub fn add_foo_enum(&mut self, foo_enum: namespace_b::EnumInNestedNS) {
99 self.fbb_.push_slot::<namespace_b::EnumInNestedNS>(TableInFirstNS::VT_FOO_ENUM, foo_enum, namespace_b::EnumInNestedNS::A);
100 }
101 #[inline]
102 pub fn add_foo_struct(&mut self, foo_struct: &'b namespace_b::StructInNestedNS) {
103 self.fbb_.push_slot_always::<&namespace_b::StructInNestedNS>(TableInFirstNS::VT_FOO_STRUCT, foo_struct);
104 }
105 #[inline]
106 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> TableInFirstNSBuilder<'a, 'b> {
107 let start = _fbb.start_table();
108 TableInFirstNSBuilder {
109 fbb_: _fbb,
110 start_: start,
111 }
112 }
113 #[inline]
114 pub fn finish(self) -> flatbuffers::WIPOffset<TableInFirstNS<'a>> {
115 let o = self.fbb_.end_table(self.start_);
116 flatbuffers::WIPOffset::new(o.value())
117 }
118}
119
120pub enum SecondTableInAOffset {}
121#[derive(Copy, Clone, Debug, PartialEq)]
122
123pub struct SecondTableInA<'a> {
124 pub _tab: flatbuffers::Table<'a>,
125}
126
127impl<'a> flatbuffers::Follow<'a> for SecondTableInA<'a> {
128 type Inner = SecondTableInA<'a>;
129 #[inline]
130 fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
131 Self {
132 _tab: flatbuffers::Table { buf: buf, loc: loc },
133 }
134 }
135}
136
137impl<'a> SecondTableInA<'a> {
138 #[inline]
139 pub fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
140 SecondTableInA {
141 _tab: table,
142 }
143 }
144 #[allow(unused_mut)]
145 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
146 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
147 args: &'args SecondTableInAArgs<'args>) -> flatbuffers::WIPOffset<SecondTableInA<'bldr>> {
148 let mut builder = SecondTableInABuilder::new(_fbb);
149 if let Some(x) = args.refer_to_c { builder.add_refer_to_c(x); }
150 builder.finish()
151 }
152
153 pub const VT_REFER_TO_C: flatbuffers::VOffsetT = 4;
154
155 #[inline]
156 pub fn refer_to_c(&self) -> Option<super::namespace_c::TableInC<'a>> {
157 self._tab.get::<flatbuffers::ForwardsUOffset<super::namespace_c::TableInC<'a>>>(SecondTableInA::VT_REFER_TO_C, None)
158 }
159}
160
161pub struct SecondTableInAArgs<'a> {
162 pub refer_to_c: Option<flatbuffers::WIPOffset<super::namespace_c::TableInC<'a >>>,
163}
164impl<'a> Default for SecondTableInAArgs<'a> {
165 #[inline]
166 fn default() -> Self {
167 SecondTableInAArgs {
168 refer_to_c: None,
169 }
170 }
171}
172pub struct SecondTableInABuilder<'a: 'b, 'b> {
173 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
174 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
175}
176impl<'a: 'b, 'b> SecondTableInABuilder<'a, 'b> {
177 #[inline]
178 pub fn add_refer_to_c(&mut self, refer_to_c: flatbuffers::WIPOffset<super::namespace_c::TableInC<'b >>) {
179 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<super::namespace_c::TableInC>>(SecondTableInA::VT_REFER_TO_C, refer_to_c);
180 }
181 #[inline]
182 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SecondTableInABuilder<'a, 'b> {
183 let start = _fbb.start_table();
184 SecondTableInABuilder {
185 fbb_: _fbb,
186 start_: start,
187 }
188 }
189 #[inline]
190 pub fn finish(self) -> flatbuffers::WIPOffset<SecondTableInA<'a>> {
191 let o = self.fbb_.end_table(self.start_);
192 flatbuffers::WIPOffset::new(o.value())
193 }
194}
195
196} // pub mod NamespaceA
197
198#[allow(unused_imports, dead_code)]
199pub mod namespace_c {
200
201 use std::mem;
202 use std::cmp::Ordering;
203
204 extern crate flatbuffers;
205 use self::flatbuffers::EndianScalar;
206
207pub enum TableInCOffset {}
208#[derive(Copy, Clone, Debug, PartialEq)]
209
210pub struct TableInC<'a> {
211 pub _tab: flatbuffers::Table<'a>,
212}
213
214impl<'a> flatbuffers::Follow<'a> for TableInC<'a> {
215 type Inner = TableInC<'a>;
216 #[inline]
217 fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
218 Self {
219 _tab: flatbuffers::Table { buf: buf, loc: loc },
220 }
221 }
222}
223
224impl<'a> TableInC<'a> {
225 #[inline]
226 pub fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
227 TableInC {
228 _tab: table,
229 }
230 }
231 #[allow(unused_mut)]
232 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
233 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
234 args: &'args TableInCArgs<'args>) -> flatbuffers::WIPOffset<TableInC<'bldr>> {
235 let mut builder = TableInCBuilder::new(_fbb);
236 if let Some(x) = args.refer_to_a2 { builder.add_refer_to_a2(x); }
237 if let Some(x) = args.refer_to_a1 { builder.add_refer_to_a1(x); }
238 builder.finish()
239 }
240
241 pub const VT_REFER_TO_A1: flatbuffers::VOffsetT = 4;
242 pub const VT_REFER_TO_A2: flatbuffers::VOffsetT = 6;
243
244 #[inline]
245 pub fn refer_to_a1(&self) -> Option<super::namespace_a::TableInFirstNS<'a>> {
246 self._tab.get::<flatbuffers::ForwardsUOffset<super::namespace_a::TableInFirstNS<'a>>>(TableInC::VT_REFER_TO_A1, None)
247 }
248 #[inline]
249 pub fn refer_to_a2(&self) -> Option<super::namespace_a::SecondTableInA<'a>> {
250 self._tab.get::<flatbuffers::ForwardsUOffset<super::namespace_a::SecondTableInA<'a>>>(TableInC::VT_REFER_TO_A2, None)
251 }
252}
253
254pub struct TableInCArgs<'a> {
255 pub refer_to_a1: Option<flatbuffers::WIPOffset<super::namespace_a::TableInFirstNS<'a >>>,
256 pub refer_to_a2: Option<flatbuffers::WIPOffset<super::namespace_a::SecondTableInA<'a >>>,
257}
258impl<'a> Default for TableInCArgs<'a> {
259 #[inline]
260 fn default() -> Self {
261 TableInCArgs {
262 refer_to_a1: None,
263 refer_to_a2: None,
264 }
265 }
266}
267pub struct TableInCBuilder<'a: 'b, 'b> {
268 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
269 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
270}
271impl<'a: 'b, 'b> TableInCBuilder<'a, 'b> {
272 #[inline]
273 pub fn add_refer_to_a1(&mut self, refer_to_a1: flatbuffers::WIPOffset<super::namespace_a::TableInFirstNS<'b >>) {
274 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<super::namespace_a::TableInFirstNS>>(TableInC::VT_REFER_TO_A1, refer_to_a1);
275 }
276 #[inline]
277 pub fn add_refer_to_a2(&mut self, refer_to_a2: flatbuffers::WIPOffset<super::namespace_a::SecondTableInA<'b >>) {
278 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<super::namespace_a::SecondTableInA>>(TableInC::VT_REFER_TO_A2, refer_to_a2);
279 }
280 #[inline]
281 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> TableInCBuilder<'a, 'b> {
282 let start = _fbb.start_table();
283 TableInCBuilder {
284 fbb_: _fbb,
285 start_: start,
286 }
287 }
288 #[inline]
289 pub fn finish(self) -> flatbuffers::WIPOffset<TableInC<'a>> {
290 let o = self.fbb_.end_table(self.start_);
291 flatbuffers::WIPOffset::new(o.value())
292 }
293}
294
295} // pub mod NamespaceC
296