1 // automatically generated by the FlatBuffers compiler, do not modify
2 // @generated
3 extern crate alloc;
4 extern crate flatbuffers;
5 use alloc::boxed::Box;
6 use alloc::string::{String, ToString};
7 use alloc::vec::Vec;
8 use core::mem;
9 use core::cmp::Ordering;
10 extern crate serde;
11 use self::serde::ser::{Serialize, Serializer, SerializeStruct};
12 use self::flatbuffers::{EndianScalar, Follow};
13 use super::*;
14 pub enum MonsterOffset {}
15 #[derive(Copy, Clone, PartialEq)]
16
17 /// an example documentation comment: "monster object"
18 pub struct Monster<'a> {
19 pub _tab: flatbuffers::Table<'a>,
20 }
21
22 impl<'a> flatbuffers::Follow<'a> for Monster<'a> {
23 type Inner = Monster<'a>;
24 #[inline]
follow(buf: &'a [u8], loc: usize) -> Self::Inner25 fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
26 Self { _tab: flatbuffers::Table { buf, loc } }
27 }
28 }
29
30 impl<'a> Monster<'a> {
31 pub const VT_POS: flatbuffers::VOffsetT = 4;
32 pub const VT_MANA: flatbuffers::VOffsetT = 6;
33 pub const VT_HP: flatbuffers::VOffsetT = 8;
34 pub const VT_NAME: flatbuffers::VOffsetT = 10;
35 pub const VT_INVENTORY: flatbuffers::VOffsetT = 14;
36 pub const VT_COLOR: flatbuffers::VOffsetT = 16;
37 pub const VT_TEST_TYPE: flatbuffers::VOffsetT = 18;
38 pub const VT_TEST: flatbuffers::VOffsetT = 20;
39 pub const VT_TEST4: flatbuffers::VOffsetT = 22;
40 pub const VT_TESTARRAYOFSTRING: flatbuffers::VOffsetT = 24;
41 pub const VT_TESTARRAYOFTABLES: flatbuffers::VOffsetT = 26;
42 pub const VT_ENEMY: flatbuffers::VOffsetT = 28;
43 pub const VT_TESTNESTEDFLATBUFFER: flatbuffers::VOffsetT = 30;
44 pub const VT_TESTEMPTY: flatbuffers::VOffsetT = 32;
45 pub const VT_TESTBOOL: flatbuffers::VOffsetT = 34;
46 pub const VT_TESTHASHS32_FNV1: flatbuffers::VOffsetT = 36;
47 pub const VT_TESTHASHU32_FNV1: flatbuffers::VOffsetT = 38;
48 pub const VT_TESTHASHS64_FNV1: flatbuffers::VOffsetT = 40;
49 pub const VT_TESTHASHU64_FNV1: flatbuffers::VOffsetT = 42;
50 pub const VT_TESTHASHS32_FNV1A: flatbuffers::VOffsetT = 44;
51 pub const VT_TESTHASHU32_FNV1A: flatbuffers::VOffsetT = 46;
52 pub const VT_TESTHASHS64_FNV1A: flatbuffers::VOffsetT = 48;
53 pub const VT_TESTHASHU64_FNV1A: flatbuffers::VOffsetT = 50;
54 pub const VT_TESTARRAYOFBOOLS: flatbuffers::VOffsetT = 52;
55 pub const VT_TESTF: flatbuffers::VOffsetT = 54;
56 pub const VT_TESTF2: flatbuffers::VOffsetT = 56;
57 pub const VT_TESTF3: flatbuffers::VOffsetT = 58;
58 pub const VT_TESTARRAYOFSTRING2: flatbuffers::VOffsetT = 60;
59 pub const VT_TESTARRAYOFSORTEDSTRUCT: flatbuffers::VOffsetT = 62;
60 pub const VT_FLEX: flatbuffers::VOffsetT = 64;
61 pub const VT_TEST5: flatbuffers::VOffsetT = 66;
62 pub const VT_VECTOR_OF_LONGS: flatbuffers::VOffsetT = 68;
63 pub const VT_VECTOR_OF_DOUBLES: flatbuffers::VOffsetT = 70;
64 pub const VT_PARENT_NAMESPACE_TEST: flatbuffers::VOffsetT = 72;
65 pub const VT_VECTOR_OF_REFERRABLES: flatbuffers::VOffsetT = 74;
66 pub const VT_SINGLE_WEAK_REFERENCE: flatbuffers::VOffsetT = 76;
67 pub const VT_VECTOR_OF_WEAK_REFERENCES: flatbuffers::VOffsetT = 78;
68 pub const VT_VECTOR_OF_STRONG_REFERRABLES: flatbuffers::VOffsetT = 80;
69 pub const VT_CO_OWNING_REFERENCE: flatbuffers::VOffsetT = 82;
70 pub const VT_VECTOR_OF_CO_OWNING_REFERENCES: flatbuffers::VOffsetT = 84;
71 pub const VT_NON_OWNING_REFERENCE: flatbuffers::VOffsetT = 86;
72 pub const VT_VECTOR_OF_NON_OWNING_REFERENCES: flatbuffers::VOffsetT = 88;
73 pub const VT_ANY_UNIQUE_TYPE: flatbuffers::VOffsetT = 90;
74 pub const VT_ANY_UNIQUE: flatbuffers::VOffsetT = 92;
75 pub const VT_ANY_AMBIGUOUS_TYPE: flatbuffers::VOffsetT = 94;
76 pub const VT_ANY_AMBIGUOUS: flatbuffers::VOffsetT = 96;
77 pub const VT_VECTOR_OF_ENUMS: flatbuffers::VOffsetT = 98;
78 pub const VT_SIGNED_ENUM: flatbuffers::VOffsetT = 100;
79 pub const VT_TESTREQUIREDNESTEDFLATBUFFER: flatbuffers::VOffsetT = 102;
80 pub const VT_SCALAR_KEY_SORTED_TABLES: flatbuffers::VOffsetT = 104;
81 pub const VT_NATIVE_INLINE: flatbuffers::VOffsetT = 106;
82 pub const VT_LONG_ENUM_NON_ENUM_DEFAULT: flatbuffers::VOffsetT = 108;
83 pub const VT_LONG_ENUM_NORMAL_DEFAULT: flatbuffers::VOffsetT = 110;
84
get_fully_qualified_name() -> &'static str85 pub const fn get_fully_qualified_name() -> &'static str {
86 "MyGame.Example.Monster"
87 }
88
89 #[inline]
init_from_table(table: flatbuffers::Table<'a>) -> Self90 pub fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
91 Monster { _tab: table }
92 }
93 #[allow(unused_mut)]
create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>( _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>, args: &'args MonsterArgs<'args> ) -> flatbuffers::WIPOffset<Monster<'bldr>>94 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
95 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
96 args: &'args MonsterArgs<'args>
97 ) -> flatbuffers::WIPOffset<Monster<'bldr>> {
98 let mut builder = MonsterBuilder::new(_fbb);
99 builder.add_long_enum_normal_default(args.long_enum_normal_default);
100 builder.add_long_enum_non_enum_default(args.long_enum_non_enum_default);
101 builder.add_non_owning_reference(args.non_owning_reference);
102 builder.add_co_owning_reference(args.co_owning_reference);
103 builder.add_single_weak_reference(args.single_weak_reference);
104 builder.add_testhashu64_fnv1a(args.testhashu64_fnv1a);
105 builder.add_testhashs64_fnv1a(args.testhashs64_fnv1a);
106 builder.add_testhashu64_fnv1(args.testhashu64_fnv1);
107 builder.add_testhashs64_fnv1(args.testhashs64_fnv1);
108 if let Some(x) = args.native_inline { builder.add_native_inline(x); }
109 if let Some(x) = args.scalar_key_sorted_tables { builder.add_scalar_key_sorted_tables(x); }
110 if let Some(x) = args.testrequirednestedflatbuffer { builder.add_testrequirednestedflatbuffer(x); }
111 if let Some(x) = args.vector_of_enums { builder.add_vector_of_enums(x); }
112 if let Some(x) = args.any_ambiguous { builder.add_any_ambiguous(x); }
113 if let Some(x) = args.any_unique { builder.add_any_unique(x); }
114 if let Some(x) = args.vector_of_non_owning_references { builder.add_vector_of_non_owning_references(x); }
115 if let Some(x) = args.vector_of_co_owning_references { builder.add_vector_of_co_owning_references(x); }
116 if let Some(x) = args.vector_of_strong_referrables { builder.add_vector_of_strong_referrables(x); }
117 if let Some(x) = args.vector_of_weak_references { builder.add_vector_of_weak_references(x); }
118 if let Some(x) = args.vector_of_referrables { builder.add_vector_of_referrables(x); }
119 if let Some(x) = args.parent_namespace_test { builder.add_parent_namespace_test(x); }
120 if let Some(x) = args.vector_of_doubles { builder.add_vector_of_doubles(x); }
121 if let Some(x) = args.vector_of_longs { builder.add_vector_of_longs(x); }
122 if let Some(x) = args.test5 { builder.add_test5(x); }
123 if let Some(x) = args.flex { builder.add_flex(x); }
124 if let Some(x) = args.testarrayofsortedstruct { builder.add_testarrayofsortedstruct(x); }
125 if let Some(x) = args.testarrayofstring2 { builder.add_testarrayofstring2(x); }
126 builder.add_testf3(args.testf3);
127 builder.add_testf2(args.testf2);
128 builder.add_testf(args.testf);
129 if let Some(x) = args.testarrayofbools { builder.add_testarrayofbools(x); }
130 builder.add_testhashu32_fnv1a(args.testhashu32_fnv1a);
131 builder.add_testhashs32_fnv1a(args.testhashs32_fnv1a);
132 builder.add_testhashu32_fnv1(args.testhashu32_fnv1);
133 builder.add_testhashs32_fnv1(args.testhashs32_fnv1);
134 if let Some(x) = args.testempty { builder.add_testempty(x); }
135 if let Some(x) = args.testnestedflatbuffer { builder.add_testnestedflatbuffer(x); }
136 if let Some(x) = args.enemy { builder.add_enemy(x); }
137 if let Some(x) = args.testarrayoftables { builder.add_testarrayoftables(x); }
138 if let Some(x) = args.testarrayofstring { builder.add_testarrayofstring(x); }
139 if let Some(x) = args.test4 { builder.add_test4(x); }
140 if let Some(x) = args.test { builder.add_test(x); }
141 if let Some(x) = args.inventory { builder.add_inventory(x); }
142 if let Some(x) = args.name { builder.add_name(x); }
143 if let Some(x) = args.pos { builder.add_pos(x); }
144 builder.add_hp(args.hp);
145 builder.add_mana(args.mana);
146 builder.add_signed_enum(args.signed_enum);
147 builder.add_any_ambiguous_type(args.any_ambiguous_type);
148 builder.add_any_unique_type(args.any_unique_type);
149 builder.add_testbool(args.testbool);
150 builder.add_test_type(args.test_type);
151 builder.add_color(args.color);
152 builder.finish()
153 }
154
unpack(&self) -> MonsterT155 pub fn unpack(&self) -> MonsterT {
156 let pos = self.pos().map(|x| {
157 x.unpack()
158 });
159 let mana = self.mana();
160 let hp = self.hp();
161 let name = {
162 let x = self.name();
163 x.to_string()
164 };
165 let inventory = self.inventory().map(|x| {
166 x.to_vec()
167 });
168 let color = self.color();
169 let test = match self.test_type() {
170 Any::NONE => AnyT::NONE,
171 Any::Monster => AnyT::Monster(Box::new(
172 self.test_as_monster()
173 .expect("Invalid union table, expected `Any::Monster`.")
174 .unpack()
175 )),
176 Any::TestSimpleTableWithEnum => AnyT::TestSimpleTableWithEnum(Box::new(
177 self.test_as_test_simple_table_with_enum()
178 .expect("Invalid union table, expected `Any::TestSimpleTableWithEnum`.")
179 .unpack()
180 )),
181 Any::MyGame_Example2_Monster => AnyT::MyGameExample2Monster(Box::new(
182 self.test_as_my_game_example_2_monster()
183 .expect("Invalid union table, expected `Any::MyGame_Example2_Monster`.")
184 .unpack()
185 )),
186 _ => AnyT::NONE,
187 };
188 let test4 = self.test4().map(|x| {
189 x.iter().map(|t| t.unpack()).collect()
190 });
191 let testarrayofstring = self.testarrayofstring().map(|x| {
192 x.iter().map(|s| s.to_string()).collect()
193 });
194 let testarrayoftables = self.testarrayoftables().map(|x| {
195 x.iter().map(|t| t.unpack()).collect()
196 });
197 let enemy = self.enemy().map(|x| {
198 Box::new(x.unpack())
199 });
200 let testnestedflatbuffer = self.testnestedflatbuffer().map(|x| {
201 x.to_vec()
202 });
203 let testempty = self.testempty().map(|x| {
204 Box::new(x.unpack())
205 });
206 let testbool = self.testbool();
207 let testhashs32_fnv1 = self.testhashs32_fnv1();
208 let testhashu32_fnv1 = self.testhashu32_fnv1();
209 let testhashs64_fnv1 = self.testhashs64_fnv1();
210 let testhashu64_fnv1 = self.testhashu64_fnv1();
211 let testhashs32_fnv1a = self.testhashs32_fnv1a();
212 let testhashu32_fnv1a = self.testhashu32_fnv1a();
213 let testhashs64_fnv1a = self.testhashs64_fnv1a();
214 let testhashu64_fnv1a = self.testhashu64_fnv1a();
215 let testarrayofbools = self.testarrayofbools().map(|x| {
216 x.to_vec()
217 });
218 let testf = self.testf();
219 let testf2 = self.testf2();
220 let testf3 = self.testf3();
221 let testarrayofstring2 = self.testarrayofstring2().map(|x| {
222 x.iter().map(|s| s.to_string()).collect()
223 });
224 let testarrayofsortedstruct = self.testarrayofsortedstruct().map(|x| {
225 x.iter().map(|t| t.unpack()).collect()
226 });
227 let flex = self.flex().map(|x| {
228 x.to_vec()
229 });
230 let test5 = self.test5().map(|x| {
231 x.iter().map(|t| t.unpack()).collect()
232 });
233 let vector_of_longs = self.vector_of_longs().map(|x| {
234 x.into_iter().collect()
235 });
236 let vector_of_doubles = self.vector_of_doubles().map(|x| {
237 x.into_iter().collect()
238 });
239 let parent_namespace_test = self.parent_namespace_test().map(|x| {
240 Box::new(x.unpack())
241 });
242 let vector_of_referrables = self.vector_of_referrables().map(|x| {
243 x.iter().map(|t| t.unpack()).collect()
244 });
245 let single_weak_reference = self.single_weak_reference();
246 let vector_of_weak_references = self.vector_of_weak_references().map(|x| {
247 x.into_iter().collect()
248 });
249 let vector_of_strong_referrables = self.vector_of_strong_referrables().map(|x| {
250 x.iter().map(|t| t.unpack()).collect()
251 });
252 let co_owning_reference = self.co_owning_reference();
253 let vector_of_co_owning_references = self.vector_of_co_owning_references().map(|x| {
254 x.into_iter().collect()
255 });
256 let non_owning_reference = self.non_owning_reference();
257 let vector_of_non_owning_references = self.vector_of_non_owning_references().map(|x| {
258 x.into_iter().collect()
259 });
260 let any_unique = match self.any_unique_type() {
261 AnyUniqueAliases::NONE => AnyUniqueAliasesT::NONE,
262 AnyUniqueAliases::M => AnyUniqueAliasesT::M(Box::new(
263 self.any_unique_as_m()
264 .expect("Invalid union table, expected `AnyUniqueAliases::M`.")
265 .unpack()
266 )),
267 AnyUniqueAliases::TS => AnyUniqueAliasesT::TS(Box::new(
268 self.any_unique_as_ts()
269 .expect("Invalid union table, expected `AnyUniqueAliases::TS`.")
270 .unpack()
271 )),
272 AnyUniqueAliases::M2 => AnyUniqueAliasesT::M2(Box::new(
273 self.any_unique_as_m2()
274 .expect("Invalid union table, expected `AnyUniqueAliases::M2`.")
275 .unpack()
276 )),
277 _ => AnyUniqueAliasesT::NONE,
278 };
279 let any_ambiguous = match self.any_ambiguous_type() {
280 AnyAmbiguousAliases::NONE => AnyAmbiguousAliasesT::NONE,
281 AnyAmbiguousAliases::M1 => AnyAmbiguousAliasesT::M1(Box::new(
282 self.any_ambiguous_as_m1()
283 .expect("Invalid union table, expected `AnyAmbiguousAliases::M1`.")
284 .unpack()
285 )),
286 AnyAmbiguousAliases::M2 => AnyAmbiguousAliasesT::M2(Box::new(
287 self.any_ambiguous_as_m2()
288 .expect("Invalid union table, expected `AnyAmbiguousAliases::M2`.")
289 .unpack()
290 )),
291 AnyAmbiguousAliases::M3 => AnyAmbiguousAliasesT::M3(Box::new(
292 self.any_ambiguous_as_m3()
293 .expect("Invalid union table, expected `AnyAmbiguousAliases::M3`.")
294 .unpack()
295 )),
296 _ => AnyAmbiguousAliasesT::NONE,
297 };
298 let vector_of_enums = self.vector_of_enums().map(|x| {
299 x.into_iter().collect()
300 });
301 let signed_enum = self.signed_enum();
302 let testrequirednestedflatbuffer = self.testrequirednestedflatbuffer().map(|x| {
303 x.to_vec()
304 });
305 let scalar_key_sorted_tables = self.scalar_key_sorted_tables().map(|x| {
306 x.iter().map(|t| t.unpack()).collect()
307 });
308 let native_inline = self.native_inline().map(|x| {
309 x.unpack()
310 });
311 let long_enum_non_enum_default = self.long_enum_non_enum_default();
312 let long_enum_normal_default = self.long_enum_normal_default();
313 MonsterT {
314 pos,
315 mana,
316 hp,
317 name,
318 inventory,
319 color,
320 test,
321 test4,
322 testarrayofstring,
323 testarrayoftables,
324 enemy,
325 testnestedflatbuffer,
326 testempty,
327 testbool,
328 testhashs32_fnv1,
329 testhashu32_fnv1,
330 testhashs64_fnv1,
331 testhashu64_fnv1,
332 testhashs32_fnv1a,
333 testhashu32_fnv1a,
334 testhashs64_fnv1a,
335 testhashu64_fnv1a,
336 testarrayofbools,
337 testf,
338 testf2,
339 testf3,
340 testarrayofstring2,
341 testarrayofsortedstruct,
342 flex,
343 test5,
344 vector_of_longs,
345 vector_of_doubles,
346 parent_namespace_test,
347 vector_of_referrables,
348 single_weak_reference,
349 vector_of_weak_references,
350 vector_of_strong_referrables,
351 co_owning_reference,
352 vector_of_co_owning_references,
353 non_owning_reference,
354 vector_of_non_owning_references,
355 any_unique,
356 any_ambiguous,
357 vector_of_enums,
358 signed_enum,
359 testrequirednestedflatbuffer,
360 scalar_key_sorted_tables,
361 native_inline,
362 long_enum_non_enum_default,
363 long_enum_normal_default,
364 }
365 }
366
367 #[inline]
pos(&self) -> Option<&'a Vec3>368 pub fn pos(&self) -> Option<&'a Vec3> {
369 self._tab.get::<Vec3>(Monster::VT_POS, None)
370 }
371 #[inline]
mana(&self) -> i16372 pub fn mana(&self) -> i16 {
373 self._tab.get::<i16>(Monster::VT_MANA, Some(150)).unwrap()
374 }
375 #[inline]
hp(&self) -> i16376 pub fn hp(&self) -> i16 {
377 self._tab.get::<i16>(Monster::VT_HP, Some(100)).unwrap()
378 }
379 #[inline]
name(&self) -> &'a str380 pub fn name(&self) -> &'a str {
381 self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(Monster::VT_NAME, None).unwrap()
382 }
383 #[inline]
key_compare_less_than(&self, o: &Monster) -> bool384 pub fn key_compare_less_than(&self, o: &Monster) -> bool {
385 self.name() < o.name()
386 }
387
388 #[inline]
key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering389 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
390 let key = self.name();
391 key.cmp(val)
392 }
393 #[inline]
inventory(&self) -> Option<&'a [u8]>394 pub fn inventory(&self) -> Option<&'a [u8]> {
395 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(Monster::VT_INVENTORY, None).map(|v| v.safe_slice())
396 }
397 #[inline]
color(&self) -> Color398 pub fn color(&self) -> Color {
399 self._tab.get::<Color>(Monster::VT_COLOR, Some(Color::Blue)).unwrap()
400 }
401 #[inline]
test_type(&self) -> Any402 pub fn test_type(&self) -> Any {
403 self._tab.get::<Any>(Monster::VT_TEST_TYPE, Some(Any::NONE)).unwrap()
404 }
405 #[inline]
test(&self) -> Option<flatbuffers::Table<'a>>406 pub fn test(&self) -> Option<flatbuffers::Table<'a>> {
407 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Table<'a>>>(Monster::VT_TEST, None)
408 }
409 #[inline]
test4(&self) -> Option<&'a [Test]>410 pub fn test4(&self) -> Option<&'a [Test]> {
411 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, Test>>>(Monster::VT_TEST4, None).map(|v| v.safe_slice())
412 }
413 #[inline]
testarrayofstring(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>414 pub fn testarrayofstring(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
415 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(Monster::VT_TESTARRAYOFSTRING, None)
416 }
417 /// an example documentation comment: this will end up in the generated code
418 /// multiline too
419 #[inline]
testarrayoftables(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Monster<'a>>>>420 pub fn testarrayoftables(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Monster<'a>>>> {
421 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Monster>>>>(Monster::VT_TESTARRAYOFTABLES, None)
422 }
423 #[inline]
enemy(&self) -> Option<Monster<'a>>424 pub fn enemy(&self) -> Option<Monster<'a>> {
425 self._tab.get::<flatbuffers::ForwardsUOffset<Monster>>(Monster::VT_ENEMY, None)
426 }
427 #[inline]
testnestedflatbuffer(&self) -> Option<&'a [u8]>428 pub fn testnestedflatbuffer(&self) -> Option<&'a [u8]> {
429 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(Monster::VT_TESTNESTEDFLATBUFFER, None).map(|v| v.safe_slice())
430 }
testnestedflatbuffer_nested_flatbuffer(&'a self) -> Option<Monster<'a>>431 pub fn testnestedflatbuffer_nested_flatbuffer(&'a self) -> Option<Monster<'a>> {
432 self.testnestedflatbuffer().map(|data| {
433 use flatbuffers::Follow;
434 <flatbuffers::ForwardsUOffset<Monster<'a>>>::follow(data, 0)
435 })
436 }
437 #[inline]
testempty(&self) -> Option<Stat<'a>>438 pub fn testempty(&self) -> Option<Stat<'a>> {
439 self._tab.get::<flatbuffers::ForwardsUOffset<Stat>>(Monster::VT_TESTEMPTY, None)
440 }
441 #[inline]
testbool(&self) -> bool442 pub fn testbool(&self) -> bool {
443 self._tab.get::<bool>(Monster::VT_TESTBOOL, Some(false)).unwrap()
444 }
445 #[inline]
testhashs32_fnv1(&self) -> i32446 pub fn testhashs32_fnv1(&self) -> i32 {
447 self._tab.get::<i32>(Monster::VT_TESTHASHS32_FNV1, Some(0)).unwrap()
448 }
449 #[inline]
testhashu32_fnv1(&self) -> u32450 pub fn testhashu32_fnv1(&self) -> u32 {
451 self._tab.get::<u32>(Monster::VT_TESTHASHU32_FNV1, Some(0)).unwrap()
452 }
453 #[inline]
testhashs64_fnv1(&self) -> i64454 pub fn testhashs64_fnv1(&self) -> i64 {
455 self._tab.get::<i64>(Monster::VT_TESTHASHS64_FNV1, Some(0)).unwrap()
456 }
457 #[inline]
testhashu64_fnv1(&self) -> u64458 pub fn testhashu64_fnv1(&self) -> u64 {
459 self._tab.get::<u64>(Monster::VT_TESTHASHU64_FNV1, Some(0)).unwrap()
460 }
461 #[inline]
testhashs32_fnv1a(&self) -> i32462 pub fn testhashs32_fnv1a(&self) -> i32 {
463 self._tab.get::<i32>(Monster::VT_TESTHASHS32_FNV1A, Some(0)).unwrap()
464 }
465 #[inline]
testhashu32_fnv1a(&self) -> u32466 pub fn testhashu32_fnv1a(&self) -> u32 {
467 self._tab.get::<u32>(Monster::VT_TESTHASHU32_FNV1A, Some(0)).unwrap()
468 }
469 #[inline]
testhashs64_fnv1a(&self) -> i64470 pub fn testhashs64_fnv1a(&self) -> i64 {
471 self._tab.get::<i64>(Monster::VT_TESTHASHS64_FNV1A, Some(0)).unwrap()
472 }
473 #[inline]
testhashu64_fnv1a(&self) -> u64474 pub fn testhashu64_fnv1a(&self) -> u64 {
475 self._tab.get::<u64>(Monster::VT_TESTHASHU64_FNV1A, Some(0)).unwrap()
476 }
477 #[inline]
testarrayofbools(&self) -> Option<&'a [bool]>478 pub fn testarrayofbools(&self) -> Option<&'a [bool]> {
479 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, bool>>>(Monster::VT_TESTARRAYOFBOOLS, None).map(|v| v.safe_slice())
480 }
481 #[inline]
testf(&self) -> f32482 pub fn testf(&self) -> f32 {
483 self._tab.get::<f32>(Monster::VT_TESTF, Some(3.14159)).unwrap()
484 }
485 #[inline]
testf2(&self) -> f32486 pub fn testf2(&self) -> f32 {
487 self._tab.get::<f32>(Monster::VT_TESTF2, Some(3.0)).unwrap()
488 }
489 #[inline]
testf3(&self) -> f32490 pub fn testf3(&self) -> f32 {
491 self._tab.get::<f32>(Monster::VT_TESTF3, Some(0.0)).unwrap()
492 }
493 #[inline]
testarrayofstring2(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>494 pub fn testarrayofstring2(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
495 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(Monster::VT_TESTARRAYOFSTRING2, None)
496 }
497 #[inline]
testarrayofsortedstruct(&self) -> Option<&'a [Ability]>498 pub fn testarrayofsortedstruct(&self) -> Option<&'a [Ability]> {
499 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, Ability>>>(Monster::VT_TESTARRAYOFSORTEDSTRUCT, None).map(|v| v.safe_slice())
500 }
501 #[inline]
flex(&self) -> Option<&'a [u8]>502 pub fn flex(&self) -> Option<&'a [u8]> {
503 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(Monster::VT_FLEX, None).map(|v| v.safe_slice())
504 }
505 #[inline]
test5(&self) -> Option<&'a [Test]>506 pub fn test5(&self) -> Option<&'a [Test]> {
507 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, Test>>>(Monster::VT_TEST5, None).map(|v| v.safe_slice())
508 }
509 #[inline]
vector_of_longs(&self) -> Option<flatbuffers::Vector<'a, i64>>510 pub fn vector_of_longs(&self) -> Option<flatbuffers::Vector<'a, i64>> {
511 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i64>>>(Monster::VT_VECTOR_OF_LONGS, None)
512 }
513 #[inline]
vector_of_doubles(&self) -> Option<flatbuffers::Vector<'a, f64>>514 pub fn vector_of_doubles(&self) -> Option<flatbuffers::Vector<'a, f64>> {
515 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f64>>>(Monster::VT_VECTOR_OF_DOUBLES, None)
516 }
517 #[inline]
parent_namespace_test(&self) -> Option<super::InParentNamespace<'a>>518 pub fn parent_namespace_test(&self) -> Option<super::InParentNamespace<'a>> {
519 self._tab.get::<flatbuffers::ForwardsUOffset<super::InParentNamespace>>(Monster::VT_PARENT_NAMESPACE_TEST, None)
520 }
521 #[inline]
vector_of_referrables(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Referrable<'a>>>>522 pub fn vector_of_referrables(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Referrable<'a>>>> {
523 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Referrable>>>>(Monster::VT_VECTOR_OF_REFERRABLES, None)
524 }
525 #[inline]
single_weak_reference(&self) -> u64526 pub fn single_weak_reference(&self) -> u64 {
527 self._tab.get::<u64>(Monster::VT_SINGLE_WEAK_REFERENCE, Some(0)).unwrap()
528 }
529 #[inline]
vector_of_weak_references(&self) -> Option<flatbuffers::Vector<'a, u64>>530 pub fn vector_of_weak_references(&self) -> Option<flatbuffers::Vector<'a, u64>> {
531 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u64>>>(Monster::VT_VECTOR_OF_WEAK_REFERENCES, None)
532 }
533 #[inline]
vector_of_strong_referrables(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Referrable<'a>>>>534 pub fn vector_of_strong_referrables(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Referrable<'a>>>> {
535 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Referrable>>>>(Monster::VT_VECTOR_OF_STRONG_REFERRABLES, None)
536 }
537 #[inline]
co_owning_reference(&self) -> u64538 pub fn co_owning_reference(&self) -> u64 {
539 self._tab.get::<u64>(Monster::VT_CO_OWNING_REFERENCE, Some(0)).unwrap()
540 }
541 #[inline]
vector_of_co_owning_references(&self) -> Option<flatbuffers::Vector<'a, u64>>542 pub fn vector_of_co_owning_references(&self) -> Option<flatbuffers::Vector<'a, u64>> {
543 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u64>>>(Monster::VT_VECTOR_OF_CO_OWNING_REFERENCES, None)
544 }
545 #[inline]
non_owning_reference(&self) -> u64546 pub fn non_owning_reference(&self) -> u64 {
547 self._tab.get::<u64>(Monster::VT_NON_OWNING_REFERENCE, Some(0)).unwrap()
548 }
549 #[inline]
vector_of_non_owning_references(&self) -> Option<flatbuffers::Vector<'a, u64>>550 pub fn vector_of_non_owning_references(&self) -> Option<flatbuffers::Vector<'a, u64>> {
551 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u64>>>(Monster::VT_VECTOR_OF_NON_OWNING_REFERENCES, None)
552 }
553 #[inline]
any_unique_type(&self) -> AnyUniqueAliases554 pub fn any_unique_type(&self) -> AnyUniqueAliases {
555 self._tab.get::<AnyUniqueAliases>(Monster::VT_ANY_UNIQUE_TYPE, Some(AnyUniqueAliases::NONE)).unwrap()
556 }
557 #[inline]
any_unique(&self) -> Option<flatbuffers::Table<'a>>558 pub fn any_unique(&self) -> Option<flatbuffers::Table<'a>> {
559 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Table<'a>>>(Monster::VT_ANY_UNIQUE, None)
560 }
561 #[inline]
any_ambiguous_type(&self) -> AnyAmbiguousAliases562 pub fn any_ambiguous_type(&self) -> AnyAmbiguousAliases {
563 self._tab.get::<AnyAmbiguousAliases>(Monster::VT_ANY_AMBIGUOUS_TYPE, Some(AnyAmbiguousAliases::NONE)).unwrap()
564 }
565 #[inline]
any_ambiguous(&self) -> Option<flatbuffers::Table<'a>>566 pub fn any_ambiguous(&self) -> Option<flatbuffers::Table<'a>> {
567 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Table<'a>>>(Monster::VT_ANY_AMBIGUOUS, None)
568 }
569 #[inline]
vector_of_enums(&self) -> Option<flatbuffers::Vector<'a, Color>>570 pub fn vector_of_enums(&self) -> Option<flatbuffers::Vector<'a, Color>> {
571 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, Color>>>(Monster::VT_VECTOR_OF_ENUMS, None)
572 }
573 #[inline]
signed_enum(&self) -> Race574 pub fn signed_enum(&self) -> Race {
575 self._tab.get::<Race>(Monster::VT_SIGNED_ENUM, Some(Race::None)).unwrap()
576 }
577 #[inline]
testrequirednestedflatbuffer(&self) -> Option<&'a [u8]>578 pub fn testrequirednestedflatbuffer(&self) -> Option<&'a [u8]> {
579 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(Monster::VT_TESTREQUIREDNESTEDFLATBUFFER, None).map(|v| v.safe_slice())
580 }
testrequirednestedflatbuffer_nested_flatbuffer(&'a self) -> Option<Monster<'a>>581 pub fn testrequirednestedflatbuffer_nested_flatbuffer(&'a self) -> Option<Monster<'a>> {
582 self.testrequirednestedflatbuffer().map(|data| {
583 use flatbuffers::Follow;
584 <flatbuffers::ForwardsUOffset<Monster<'a>>>::follow(data, 0)
585 })
586 }
587 #[inline]
scalar_key_sorted_tables(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Stat<'a>>>>588 pub fn scalar_key_sorted_tables(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Stat<'a>>>> {
589 self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Stat>>>>(Monster::VT_SCALAR_KEY_SORTED_TABLES, None)
590 }
591 #[inline]
native_inline(&self) -> Option<&'a Test>592 pub fn native_inline(&self) -> Option<&'a Test> {
593 self._tab.get::<Test>(Monster::VT_NATIVE_INLINE, None)
594 }
595 #[inline]
long_enum_non_enum_default(&self) -> LongEnum596 pub fn long_enum_non_enum_default(&self) -> LongEnum {
597 self._tab.get::<LongEnum>(Monster::VT_LONG_ENUM_NON_ENUM_DEFAULT, Some(Default::default())).unwrap()
598 }
599 #[inline]
long_enum_normal_default(&self) -> LongEnum600 pub fn long_enum_normal_default(&self) -> LongEnum {
601 self._tab.get::<LongEnum>(Monster::VT_LONG_ENUM_NORMAL_DEFAULT, Some(LongEnum::LongOne)).unwrap()
602 }
603 #[inline]
604 #[allow(non_snake_case)]
test_as_monster(&self) -> Option<Monster<'a>>605 pub fn test_as_monster(&self) -> Option<Monster<'a>> {
606 if self.test_type() == Any::Monster {
607 self.test().map(Monster::init_from_table)
608 } else {
609 None
610 }
611 }
612
613 #[inline]
614 #[allow(non_snake_case)]
test_as_test_simple_table_with_enum(&self) -> Option<TestSimpleTableWithEnum<'a>>615 pub fn test_as_test_simple_table_with_enum(&self) -> Option<TestSimpleTableWithEnum<'a>> {
616 if self.test_type() == Any::TestSimpleTableWithEnum {
617 self.test().map(TestSimpleTableWithEnum::init_from_table)
618 } else {
619 None
620 }
621 }
622
623 #[inline]
624 #[allow(non_snake_case)]
test_as_my_game_example_2_monster(&self) -> Option<super::example_2::Monster<'a>>625 pub fn test_as_my_game_example_2_monster(&self) -> Option<super::example_2::Monster<'a>> {
626 if self.test_type() == Any::MyGame_Example2_Monster {
627 self.test().map(super::example_2::Monster::init_from_table)
628 } else {
629 None
630 }
631 }
632
633 #[inline]
634 #[allow(non_snake_case)]
any_unique_as_m(&self) -> Option<Monster<'a>>635 pub fn any_unique_as_m(&self) -> Option<Monster<'a>> {
636 if self.any_unique_type() == AnyUniqueAliases::M {
637 self.any_unique().map(Monster::init_from_table)
638 } else {
639 None
640 }
641 }
642
643 #[inline]
644 #[allow(non_snake_case)]
any_unique_as_ts(&self) -> Option<TestSimpleTableWithEnum<'a>>645 pub fn any_unique_as_ts(&self) -> Option<TestSimpleTableWithEnum<'a>> {
646 if self.any_unique_type() == AnyUniqueAliases::TS {
647 self.any_unique().map(TestSimpleTableWithEnum::init_from_table)
648 } else {
649 None
650 }
651 }
652
653 #[inline]
654 #[allow(non_snake_case)]
any_unique_as_m2(&self) -> Option<super::example_2::Monster<'a>>655 pub fn any_unique_as_m2(&self) -> Option<super::example_2::Monster<'a>> {
656 if self.any_unique_type() == AnyUniqueAliases::M2 {
657 self.any_unique().map(super::example_2::Monster::init_from_table)
658 } else {
659 None
660 }
661 }
662
663 #[inline]
664 #[allow(non_snake_case)]
any_ambiguous_as_m1(&self) -> Option<Monster<'a>>665 pub fn any_ambiguous_as_m1(&self) -> Option<Monster<'a>> {
666 if self.any_ambiguous_type() == AnyAmbiguousAliases::M1 {
667 self.any_ambiguous().map(Monster::init_from_table)
668 } else {
669 None
670 }
671 }
672
673 #[inline]
674 #[allow(non_snake_case)]
any_ambiguous_as_m2(&self) -> Option<Monster<'a>>675 pub fn any_ambiguous_as_m2(&self) -> Option<Monster<'a>> {
676 if self.any_ambiguous_type() == AnyAmbiguousAliases::M2 {
677 self.any_ambiguous().map(Monster::init_from_table)
678 } else {
679 None
680 }
681 }
682
683 #[inline]
684 #[allow(non_snake_case)]
any_ambiguous_as_m3(&self) -> Option<Monster<'a>>685 pub fn any_ambiguous_as_m3(&self) -> Option<Monster<'a>> {
686 if self.any_ambiguous_type() == AnyAmbiguousAliases::M3 {
687 self.any_ambiguous().map(Monster::init_from_table)
688 } else {
689 None
690 }
691 }
692
693 }
694
695 impl flatbuffers::Verifiable for Monster<'_> {
696 #[inline]
run_verifier( v: &mut flatbuffers::Verifier, pos: usize ) -> Result<(), flatbuffers::InvalidFlatbuffer>697 fn run_verifier(
698 v: &mut flatbuffers::Verifier, pos: usize
699 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
700 use self::flatbuffers::Verifiable;
701 v.visit_table(pos)?
702 .visit_field::<Vec3>("pos", Self::VT_POS, false)?
703 .visit_field::<i16>("mana", Self::VT_MANA, false)?
704 .visit_field::<i16>("hp", Self::VT_HP, false)?
705 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("name", Self::VT_NAME, true)?
706 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("inventory", Self::VT_INVENTORY, false)?
707 .visit_field::<Color>("color", Self::VT_COLOR, false)?
708 .visit_union::<Any, _>("test_type", Self::VT_TEST_TYPE, "test", Self::VT_TEST, false, |key, v, pos| {
709 match key {
710 Any::Monster => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Monster>>("Any::Monster", pos),
711 Any::TestSimpleTableWithEnum => v.verify_union_variant::<flatbuffers::ForwardsUOffset<TestSimpleTableWithEnum>>("Any::TestSimpleTableWithEnum", pos),
712 Any::MyGame_Example2_Monster => v.verify_union_variant::<flatbuffers::ForwardsUOffset<super::example_2::Monster>>("Any::MyGame_Example2_Monster", pos),
713 _ => Ok(()),
714 }
715 })?
716 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, Test>>>("test4", Self::VT_TEST4, false)?
717 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("testarrayofstring", Self::VT_TESTARRAYOFSTRING, false)?
718 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<Monster>>>>("testarrayoftables", Self::VT_TESTARRAYOFTABLES, false)?
719 .visit_field::<flatbuffers::ForwardsUOffset<Monster>>("enemy", Self::VT_ENEMY, false)?
720 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("testnestedflatbuffer", Self::VT_TESTNESTEDFLATBUFFER, false)?
721 .visit_field::<flatbuffers::ForwardsUOffset<Stat>>("testempty", Self::VT_TESTEMPTY, false)?
722 .visit_field::<bool>("testbool", Self::VT_TESTBOOL, false)?
723 .visit_field::<i32>("testhashs32_fnv1", Self::VT_TESTHASHS32_FNV1, false)?
724 .visit_field::<u32>("testhashu32_fnv1", Self::VT_TESTHASHU32_FNV1, false)?
725 .visit_field::<i64>("testhashs64_fnv1", Self::VT_TESTHASHS64_FNV1, false)?
726 .visit_field::<u64>("testhashu64_fnv1", Self::VT_TESTHASHU64_FNV1, false)?
727 .visit_field::<i32>("testhashs32_fnv1a", Self::VT_TESTHASHS32_FNV1A, false)?
728 .visit_field::<u32>("testhashu32_fnv1a", Self::VT_TESTHASHU32_FNV1A, false)?
729 .visit_field::<i64>("testhashs64_fnv1a", Self::VT_TESTHASHS64_FNV1A, false)?
730 .visit_field::<u64>("testhashu64_fnv1a", Self::VT_TESTHASHU64_FNV1A, false)?
731 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, bool>>>("testarrayofbools", Self::VT_TESTARRAYOFBOOLS, false)?
732 .visit_field::<f32>("testf", Self::VT_TESTF, false)?
733 .visit_field::<f32>("testf2", Self::VT_TESTF2, false)?
734 .visit_field::<f32>("testf3", Self::VT_TESTF3, false)?
735 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("testarrayofstring2", Self::VT_TESTARRAYOFSTRING2, false)?
736 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, Ability>>>("testarrayofsortedstruct", Self::VT_TESTARRAYOFSORTEDSTRUCT, false)?
737 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("flex", Self::VT_FLEX, false)?
738 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, Test>>>("test5", Self::VT_TEST5, false)?
739 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i64>>>("vector_of_longs", Self::VT_VECTOR_OF_LONGS, false)?
740 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f64>>>("vector_of_doubles", Self::VT_VECTOR_OF_DOUBLES, false)?
741 .visit_field::<flatbuffers::ForwardsUOffset<super::InParentNamespace>>("parent_namespace_test", Self::VT_PARENT_NAMESPACE_TEST, false)?
742 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<Referrable>>>>("vector_of_referrables", Self::VT_VECTOR_OF_REFERRABLES, false)?
743 .visit_field::<u64>("single_weak_reference", Self::VT_SINGLE_WEAK_REFERENCE, false)?
744 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u64>>>("vector_of_weak_references", Self::VT_VECTOR_OF_WEAK_REFERENCES, false)?
745 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<Referrable>>>>("vector_of_strong_referrables", Self::VT_VECTOR_OF_STRONG_REFERRABLES, false)?
746 .visit_field::<u64>("co_owning_reference", Self::VT_CO_OWNING_REFERENCE, false)?
747 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u64>>>("vector_of_co_owning_references", Self::VT_VECTOR_OF_CO_OWNING_REFERENCES, false)?
748 .visit_field::<u64>("non_owning_reference", Self::VT_NON_OWNING_REFERENCE, false)?
749 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u64>>>("vector_of_non_owning_references", Self::VT_VECTOR_OF_NON_OWNING_REFERENCES, false)?
750 .visit_union::<AnyUniqueAliases, _>("any_unique_type", Self::VT_ANY_UNIQUE_TYPE, "any_unique", Self::VT_ANY_UNIQUE, false, |key, v, pos| {
751 match key {
752 AnyUniqueAliases::M => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Monster>>("AnyUniqueAliases::M", pos),
753 AnyUniqueAliases::TS => v.verify_union_variant::<flatbuffers::ForwardsUOffset<TestSimpleTableWithEnum>>("AnyUniqueAliases::TS", pos),
754 AnyUniqueAliases::M2 => v.verify_union_variant::<flatbuffers::ForwardsUOffset<super::example_2::Monster>>("AnyUniqueAliases::M2", pos),
755 _ => Ok(()),
756 }
757 })?
758 .visit_union::<AnyAmbiguousAliases, _>("any_ambiguous_type", Self::VT_ANY_AMBIGUOUS_TYPE, "any_ambiguous", Self::VT_ANY_AMBIGUOUS, false, |key, v, pos| {
759 match key {
760 AnyAmbiguousAliases::M1 => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Monster>>("AnyAmbiguousAliases::M1", pos),
761 AnyAmbiguousAliases::M2 => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Monster>>("AnyAmbiguousAliases::M2", pos),
762 AnyAmbiguousAliases::M3 => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Monster>>("AnyAmbiguousAliases::M3", pos),
763 _ => Ok(()),
764 }
765 })?
766 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, Color>>>("vector_of_enums", Self::VT_VECTOR_OF_ENUMS, false)?
767 .visit_field::<Race>("signed_enum", Self::VT_SIGNED_ENUM, false)?
768 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("testrequirednestedflatbuffer", Self::VT_TESTREQUIREDNESTEDFLATBUFFER, false)?
769 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<Stat>>>>("scalar_key_sorted_tables", Self::VT_SCALAR_KEY_SORTED_TABLES, false)?
770 .visit_field::<Test>("native_inline", Self::VT_NATIVE_INLINE, false)?
771 .visit_field::<LongEnum>("long_enum_non_enum_default", Self::VT_LONG_ENUM_NON_ENUM_DEFAULT, false)?
772 .visit_field::<LongEnum>("long_enum_normal_default", Self::VT_LONG_ENUM_NORMAL_DEFAULT, false)?
773 .finish();
774 Ok(())
775 }
776 }
777 pub struct MonsterArgs<'a> {
778 pub pos: Option<&'a Vec3>,
779 pub mana: i16,
780 pub hp: i16,
781 pub name: Option<flatbuffers::WIPOffset<&'a str>>,
782 pub inventory: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
783 pub color: Color,
784 pub test_type: Any,
785 pub test: Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>>,
786 pub test4: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, Test>>>,
787 pub testarrayofstring: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
788 pub testarrayoftables: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Monster<'a>>>>>,
789 pub enemy: Option<flatbuffers::WIPOffset<Monster<'a>>>,
790 pub testnestedflatbuffer: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
791 pub testempty: Option<flatbuffers::WIPOffset<Stat<'a>>>,
792 pub testbool: bool,
793 pub testhashs32_fnv1: i32,
794 pub testhashu32_fnv1: u32,
795 pub testhashs64_fnv1: i64,
796 pub testhashu64_fnv1: u64,
797 pub testhashs32_fnv1a: i32,
798 pub testhashu32_fnv1a: u32,
799 pub testhashs64_fnv1a: i64,
800 pub testhashu64_fnv1a: u64,
801 pub testarrayofbools: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, bool>>>,
802 pub testf: f32,
803 pub testf2: f32,
804 pub testf3: f32,
805 pub testarrayofstring2: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
806 pub testarrayofsortedstruct: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, Ability>>>,
807 pub flex: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
808 pub test5: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, Test>>>,
809 pub vector_of_longs: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i64>>>,
810 pub vector_of_doubles: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f64>>>,
811 pub parent_namespace_test: Option<flatbuffers::WIPOffset<super::InParentNamespace<'a>>>,
812 pub vector_of_referrables: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Referrable<'a>>>>>,
813 pub single_weak_reference: u64,
814 pub vector_of_weak_references: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u64>>>,
815 pub vector_of_strong_referrables: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Referrable<'a>>>>>,
816 pub co_owning_reference: u64,
817 pub vector_of_co_owning_references: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u64>>>,
818 pub non_owning_reference: u64,
819 pub vector_of_non_owning_references: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u64>>>,
820 pub any_unique_type: AnyUniqueAliases,
821 pub any_unique: Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>>,
822 pub any_ambiguous_type: AnyAmbiguousAliases,
823 pub any_ambiguous: Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>>,
824 pub vector_of_enums: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, Color>>>,
825 pub signed_enum: Race,
826 pub testrequirednestedflatbuffer: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
827 pub scalar_key_sorted_tables: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Stat<'a>>>>>,
828 pub native_inline: Option<&'a Test>,
829 pub long_enum_non_enum_default: LongEnum,
830 pub long_enum_normal_default: LongEnum,
831 }
832 impl<'a> Default for MonsterArgs<'a> {
833 #[inline]
default() -> Self834 fn default() -> Self {
835 MonsterArgs {
836 pos: None,
837 mana: 150,
838 hp: 100,
839 name: None, // required field
840 inventory: None,
841 color: Color::Blue,
842 test_type: Any::NONE,
843 test: None,
844 test4: None,
845 testarrayofstring: None,
846 testarrayoftables: None,
847 enemy: None,
848 testnestedflatbuffer: None,
849 testempty: None,
850 testbool: false,
851 testhashs32_fnv1: 0,
852 testhashu32_fnv1: 0,
853 testhashs64_fnv1: 0,
854 testhashu64_fnv1: 0,
855 testhashs32_fnv1a: 0,
856 testhashu32_fnv1a: 0,
857 testhashs64_fnv1a: 0,
858 testhashu64_fnv1a: 0,
859 testarrayofbools: None,
860 testf: 3.14159,
861 testf2: 3.0,
862 testf3: 0.0,
863 testarrayofstring2: None,
864 testarrayofsortedstruct: None,
865 flex: None,
866 test5: None,
867 vector_of_longs: None,
868 vector_of_doubles: None,
869 parent_namespace_test: None,
870 vector_of_referrables: None,
871 single_weak_reference: 0,
872 vector_of_weak_references: None,
873 vector_of_strong_referrables: None,
874 co_owning_reference: 0,
875 vector_of_co_owning_references: None,
876 non_owning_reference: 0,
877 vector_of_non_owning_references: None,
878 any_unique_type: AnyUniqueAliases::NONE,
879 any_unique: None,
880 any_ambiguous_type: AnyAmbiguousAliases::NONE,
881 any_ambiguous: None,
882 vector_of_enums: None,
883 signed_enum: Race::None,
884 testrequirednestedflatbuffer: None,
885 scalar_key_sorted_tables: None,
886 native_inline: None,
887 long_enum_non_enum_default: Default::default(),
888 long_enum_normal_default: LongEnum::LongOne,
889 }
890 }
891 }
892
893 impl Serialize for Monster<'_> {
serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where S: Serializer,894 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
895 where
896 S: Serializer,
897 {
898 let mut s = serializer.serialize_struct("Monster", 54)?;
899 if let Some(f) = self.pos() {
900 s.serialize_field("pos", &f)?;
901 } else {
902 s.skip_field("pos")?;
903 }
904 s.serialize_field("mana", &self.mana())?;
905 s.serialize_field("hp", &self.hp())?;
906 s.serialize_field("name", &self.name())?;
907 if let Some(f) = self.inventory() {
908 s.serialize_field("inventory", &f)?;
909 } else {
910 s.skip_field("inventory")?;
911 }
912 s.serialize_field("color", &self.color())?;
913 s.serialize_field("test_type", &self.test_type())?;
914 match self.test_type() {
915 Any::NONE => (),
916 Any::Monster => {
917 let f = self.test_as_monster()
918 .expect("Invalid union table, expected `Any::Monster`.");
919 s.serialize_field("test", &f)?;
920 }
921 Any::TestSimpleTableWithEnum => {
922 let f = self.test_as_test_simple_table_with_enum()
923 .expect("Invalid union table, expected `Any::TestSimpleTableWithEnum`.");
924 s.serialize_field("test", &f)?;
925 }
926 Any::MyGame_Example2_Monster => {
927 let f = self.test_as_my_game_example_2_monster()
928 .expect("Invalid union table, expected `Any::MyGame_Example2_Monster`.");
929 s.serialize_field("test", &f)?;
930 }
931 _ => unimplemented!(),
932 }
933 if let Some(f) = self.test4() {
934 s.serialize_field("test4", &f)?;
935 } else {
936 s.skip_field("test4")?;
937 }
938 if let Some(f) = self.testarrayofstring() {
939 s.serialize_field("testarrayofstring", &f)?;
940 } else {
941 s.skip_field("testarrayofstring")?;
942 }
943 if let Some(f) = self.testarrayoftables() {
944 s.serialize_field("testarrayoftables", &f)?;
945 } else {
946 s.skip_field("testarrayoftables")?;
947 }
948 if let Some(f) = self.enemy() {
949 s.serialize_field("enemy", &f)?;
950 } else {
951 s.skip_field("enemy")?;
952 }
953 if let Some(f) = self.testnestedflatbuffer() {
954 s.serialize_field("testnestedflatbuffer", &f)?;
955 } else {
956 s.skip_field("testnestedflatbuffer")?;
957 }
958 if let Some(f) = self.testempty() {
959 s.serialize_field("testempty", &f)?;
960 } else {
961 s.skip_field("testempty")?;
962 }
963 s.serialize_field("testbool", &self.testbool())?;
964 s.serialize_field("testhashs32_fnv1", &self.testhashs32_fnv1())?;
965 s.serialize_field("testhashu32_fnv1", &self.testhashu32_fnv1())?;
966 s.serialize_field("testhashs64_fnv1", &self.testhashs64_fnv1())?;
967 s.serialize_field("testhashu64_fnv1", &self.testhashu64_fnv1())?;
968 s.serialize_field("testhashs32_fnv1a", &self.testhashs32_fnv1a())?;
969 s.serialize_field("testhashu32_fnv1a", &self.testhashu32_fnv1a())?;
970 s.serialize_field("testhashs64_fnv1a", &self.testhashs64_fnv1a())?;
971 s.serialize_field("testhashu64_fnv1a", &self.testhashu64_fnv1a())?;
972 if let Some(f) = self.testarrayofbools() {
973 s.serialize_field("testarrayofbools", &f)?;
974 } else {
975 s.skip_field("testarrayofbools")?;
976 }
977 s.serialize_field("testf", &self.testf())?;
978 s.serialize_field("testf2", &self.testf2())?;
979 s.serialize_field("testf3", &self.testf3())?;
980 if let Some(f) = self.testarrayofstring2() {
981 s.serialize_field("testarrayofstring2", &f)?;
982 } else {
983 s.skip_field("testarrayofstring2")?;
984 }
985 if let Some(f) = self.testarrayofsortedstruct() {
986 s.serialize_field("testarrayofsortedstruct", &f)?;
987 } else {
988 s.skip_field("testarrayofsortedstruct")?;
989 }
990 if let Some(f) = self.flex() {
991 s.serialize_field("flex", &f)?;
992 } else {
993 s.skip_field("flex")?;
994 }
995 if let Some(f) = self.test5() {
996 s.serialize_field("test5", &f)?;
997 } else {
998 s.skip_field("test5")?;
999 }
1000 if let Some(f) = self.vector_of_longs() {
1001 s.serialize_field("vector_of_longs", &f)?;
1002 } else {
1003 s.skip_field("vector_of_longs")?;
1004 }
1005 if let Some(f) = self.vector_of_doubles() {
1006 s.serialize_field("vector_of_doubles", &f)?;
1007 } else {
1008 s.skip_field("vector_of_doubles")?;
1009 }
1010 if let Some(f) = self.parent_namespace_test() {
1011 s.serialize_field("parent_namespace_test", &f)?;
1012 } else {
1013 s.skip_field("parent_namespace_test")?;
1014 }
1015 if let Some(f) = self.vector_of_referrables() {
1016 s.serialize_field("vector_of_referrables", &f)?;
1017 } else {
1018 s.skip_field("vector_of_referrables")?;
1019 }
1020 s.serialize_field("single_weak_reference", &self.single_weak_reference())?;
1021 if let Some(f) = self.vector_of_weak_references() {
1022 s.serialize_field("vector_of_weak_references", &f)?;
1023 } else {
1024 s.skip_field("vector_of_weak_references")?;
1025 }
1026 if let Some(f) = self.vector_of_strong_referrables() {
1027 s.serialize_field("vector_of_strong_referrables", &f)?;
1028 } else {
1029 s.skip_field("vector_of_strong_referrables")?;
1030 }
1031 s.serialize_field("co_owning_reference", &self.co_owning_reference())?;
1032 if let Some(f) = self.vector_of_co_owning_references() {
1033 s.serialize_field("vector_of_co_owning_references", &f)?;
1034 } else {
1035 s.skip_field("vector_of_co_owning_references")?;
1036 }
1037 s.serialize_field("non_owning_reference", &self.non_owning_reference())?;
1038 if let Some(f) = self.vector_of_non_owning_references() {
1039 s.serialize_field("vector_of_non_owning_references", &f)?;
1040 } else {
1041 s.skip_field("vector_of_non_owning_references")?;
1042 }
1043 s.serialize_field("any_unique_type", &self.any_unique_type())?;
1044 match self.any_unique_type() {
1045 AnyUniqueAliases::NONE => (),
1046 AnyUniqueAliases::M => {
1047 let f = self.any_unique_as_m()
1048 .expect("Invalid union table, expected `AnyUniqueAliases::M`.");
1049 s.serialize_field("any_unique", &f)?;
1050 }
1051 AnyUniqueAliases::TS => {
1052 let f = self.any_unique_as_ts()
1053 .expect("Invalid union table, expected `AnyUniqueAliases::TS`.");
1054 s.serialize_field("any_unique", &f)?;
1055 }
1056 AnyUniqueAliases::M2 => {
1057 let f = self.any_unique_as_m2()
1058 .expect("Invalid union table, expected `AnyUniqueAliases::M2`.");
1059 s.serialize_field("any_unique", &f)?;
1060 }
1061 _ => unimplemented!(),
1062 }
1063 s.serialize_field("any_ambiguous_type", &self.any_ambiguous_type())?;
1064 match self.any_ambiguous_type() {
1065 AnyAmbiguousAliases::NONE => (),
1066 AnyAmbiguousAliases::M1 => {
1067 let f = self.any_ambiguous_as_m1()
1068 .expect("Invalid union table, expected `AnyAmbiguousAliases::M1`.");
1069 s.serialize_field("any_ambiguous", &f)?;
1070 }
1071 AnyAmbiguousAliases::M2 => {
1072 let f = self.any_ambiguous_as_m2()
1073 .expect("Invalid union table, expected `AnyAmbiguousAliases::M2`.");
1074 s.serialize_field("any_ambiguous", &f)?;
1075 }
1076 AnyAmbiguousAliases::M3 => {
1077 let f = self.any_ambiguous_as_m3()
1078 .expect("Invalid union table, expected `AnyAmbiguousAliases::M3`.");
1079 s.serialize_field("any_ambiguous", &f)?;
1080 }
1081 _ => unimplemented!(),
1082 }
1083 if let Some(f) = self.vector_of_enums() {
1084 s.serialize_field("vector_of_enums", &f)?;
1085 } else {
1086 s.skip_field("vector_of_enums")?;
1087 }
1088 s.serialize_field("signed_enum", &self.signed_enum())?;
1089 if let Some(f) = self.testrequirednestedflatbuffer() {
1090 s.serialize_field("testrequirednestedflatbuffer", &f)?;
1091 } else {
1092 s.skip_field("testrequirednestedflatbuffer")?;
1093 }
1094 if let Some(f) = self.scalar_key_sorted_tables() {
1095 s.serialize_field("scalar_key_sorted_tables", &f)?;
1096 } else {
1097 s.skip_field("scalar_key_sorted_tables")?;
1098 }
1099 if let Some(f) = self.native_inline() {
1100 s.serialize_field("native_inline", &f)?;
1101 } else {
1102 s.skip_field("native_inline")?;
1103 }
1104 s.serialize_field("long_enum_non_enum_default", &self.long_enum_non_enum_default())?;
1105 s.serialize_field("long_enum_normal_default", &self.long_enum_normal_default())?;
1106 s.end()
1107 }
1108 }
1109
1110 pub struct MonsterBuilder<'a: 'b, 'b> {
1111 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
1112 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
1113 }
1114 impl<'a: 'b, 'b> MonsterBuilder<'a, 'b> {
1115 #[inline]
add_pos(&mut self, pos: &Vec3)1116 pub fn add_pos(&mut self, pos: &Vec3) {
1117 self.fbb_.push_slot_always::<&Vec3>(Monster::VT_POS, pos);
1118 }
1119 #[inline]
add_mana(&mut self, mana: i16)1120 pub fn add_mana(&mut self, mana: i16) {
1121 self.fbb_.push_slot::<i16>(Monster::VT_MANA, mana, 150);
1122 }
1123 #[inline]
add_hp(&mut self, hp: i16)1124 pub fn add_hp(&mut self, hp: i16) {
1125 self.fbb_.push_slot::<i16>(Monster::VT_HP, hp, 100);
1126 }
1127 #[inline]
add_name(&mut self, name: flatbuffers::WIPOffset<&'b str>)1128 pub fn add_name(&mut self, name: flatbuffers::WIPOffset<&'b str>) {
1129 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_NAME, name);
1130 }
1131 #[inline]
add_inventory(&mut self, inventory: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>)1132 pub fn add_inventory(&mut self, inventory: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
1133 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_INVENTORY, inventory);
1134 }
1135 #[inline]
add_color(&mut self, color: Color)1136 pub fn add_color(&mut self, color: Color) {
1137 self.fbb_.push_slot::<Color>(Monster::VT_COLOR, color, Color::Blue);
1138 }
1139 #[inline]
add_test_type(&mut self, test_type: Any)1140 pub fn add_test_type(&mut self, test_type: Any) {
1141 self.fbb_.push_slot::<Any>(Monster::VT_TEST_TYPE, test_type, Any::NONE);
1142 }
1143 #[inline]
add_test(&mut self, test: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>)1144 pub fn add_test(&mut self, test: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
1145 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_TEST, test);
1146 }
1147 #[inline]
add_test4(&mut self, test4: flatbuffers::WIPOffset<flatbuffers::Vector<'b , Test>>)1148 pub fn add_test4(&mut self, test4: flatbuffers::WIPOffset<flatbuffers::Vector<'b , Test>>) {
1149 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_TEST4, test4);
1150 }
1151 #[inline]
add_testarrayofstring(&mut self, testarrayofstring: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>)1152 pub fn add_testarrayofstring(&mut self, testarrayofstring: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
1153 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_TESTARRAYOFSTRING, testarrayofstring);
1154 }
1155 #[inline]
add_testarrayoftables(&mut self, testarrayoftables: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Monster<'b >>>>)1156 pub fn add_testarrayoftables(&mut self, testarrayoftables: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Monster<'b >>>>) {
1157 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_TESTARRAYOFTABLES, testarrayoftables);
1158 }
1159 #[inline]
add_enemy(&mut self, enemy: flatbuffers::WIPOffset<Monster<'b >>)1160 pub fn add_enemy(&mut self, enemy: flatbuffers::WIPOffset<Monster<'b >>) {
1161 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Monster>>(Monster::VT_ENEMY, enemy);
1162 }
1163 #[inline]
add_testnestedflatbuffer(&mut self, testnestedflatbuffer: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>)1164 pub fn add_testnestedflatbuffer(&mut self, testnestedflatbuffer: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
1165 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_TESTNESTEDFLATBUFFER, testnestedflatbuffer);
1166 }
1167 #[inline]
add_testempty(&mut self, testempty: flatbuffers::WIPOffset<Stat<'b >>)1168 pub fn add_testempty(&mut self, testempty: flatbuffers::WIPOffset<Stat<'b >>) {
1169 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Stat>>(Monster::VT_TESTEMPTY, testempty);
1170 }
1171 #[inline]
add_testbool(&mut self, testbool: bool)1172 pub fn add_testbool(&mut self, testbool: bool) {
1173 self.fbb_.push_slot::<bool>(Monster::VT_TESTBOOL, testbool, false);
1174 }
1175 #[inline]
add_testhashs32_fnv1(&mut self, testhashs32_fnv1: i32)1176 pub fn add_testhashs32_fnv1(&mut self, testhashs32_fnv1: i32) {
1177 self.fbb_.push_slot::<i32>(Monster::VT_TESTHASHS32_FNV1, testhashs32_fnv1, 0);
1178 }
1179 #[inline]
add_testhashu32_fnv1(&mut self, testhashu32_fnv1: u32)1180 pub fn add_testhashu32_fnv1(&mut self, testhashu32_fnv1: u32) {
1181 self.fbb_.push_slot::<u32>(Monster::VT_TESTHASHU32_FNV1, testhashu32_fnv1, 0);
1182 }
1183 #[inline]
add_testhashs64_fnv1(&mut self, testhashs64_fnv1: i64)1184 pub fn add_testhashs64_fnv1(&mut self, testhashs64_fnv1: i64) {
1185 self.fbb_.push_slot::<i64>(Monster::VT_TESTHASHS64_FNV1, testhashs64_fnv1, 0);
1186 }
1187 #[inline]
add_testhashu64_fnv1(&mut self, testhashu64_fnv1: u64)1188 pub fn add_testhashu64_fnv1(&mut self, testhashu64_fnv1: u64) {
1189 self.fbb_.push_slot::<u64>(Monster::VT_TESTHASHU64_FNV1, testhashu64_fnv1, 0);
1190 }
1191 #[inline]
add_testhashs32_fnv1a(&mut self, testhashs32_fnv1a: i32)1192 pub fn add_testhashs32_fnv1a(&mut self, testhashs32_fnv1a: i32) {
1193 self.fbb_.push_slot::<i32>(Monster::VT_TESTHASHS32_FNV1A, testhashs32_fnv1a, 0);
1194 }
1195 #[inline]
add_testhashu32_fnv1a(&mut self, testhashu32_fnv1a: u32)1196 pub fn add_testhashu32_fnv1a(&mut self, testhashu32_fnv1a: u32) {
1197 self.fbb_.push_slot::<u32>(Monster::VT_TESTHASHU32_FNV1A, testhashu32_fnv1a, 0);
1198 }
1199 #[inline]
add_testhashs64_fnv1a(&mut self, testhashs64_fnv1a: i64)1200 pub fn add_testhashs64_fnv1a(&mut self, testhashs64_fnv1a: i64) {
1201 self.fbb_.push_slot::<i64>(Monster::VT_TESTHASHS64_FNV1A, testhashs64_fnv1a, 0);
1202 }
1203 #[inline]
add_testhashu64_fnv1a(&mut self, testhashu64_fnv1a: u64)1204 pub fn add_testhashu64_fnv1a(&mut self, testhashu64_fnv1a: u64) {
1205 self.fbb_.push_slot::<u64>(Monster::VT_TESTHASHU64_FNV1A, testhashu64_fnv1a, 0);
1206 }
1207 #[inline]
add_testarrayofbools(&mut self, testarrayofbools: flatbuffers::WIPOffset<flatbuffers::Vector<'b , bool>>)1208 pub fn add_testarrayofbools(&mut self, testarrayofbools: flatbuffers::WIPOffset<flatbuffers::Vector<'b , bool>>) {
1209 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_TESTARRAYOFBOOLS, testarrayofbools);
1210 }
1211 #[inline]
add_testf(&mut self, testf: f32)1212 pub fn add_testf(&mut self, testf: f32) {
1213 self.fbb_.push_slot::<f32>(Monster::VT_TESTF, testf, 3.14159);
1214 }
1215 #[inline]
add_testf2(&mut self, testf2: f32)1216 pub fn add_testf2(&mut self, testf2: f32) {
1217 self.fbb_.push_slot::<f32>(Monster::VT_TESTF2, testf2, 3.0);
1218 }
1219 #[inline]
add_testf3(&mut self, testf3: f32)1220 pub fn add_testf3(&mut self, testf3: f32) {
1221 self.fbb_.push_slot::<f32>(Monster::VT_TESTF3, testf3, 0.0);
1222 }
1223 #[inline]
add_testarrayofstring2(&mut self, testarrayofstring2: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>)1224 pub fn add_testarrayofstring2(&mut self, testarrayofstring2: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
1225 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_TESTARRAYOFSTRING2, testarrayofstring2);
1226 }
1227 #[inline]
add_testarrayofsortedstruct(&mut self, testarrayofsortedstruct: flatbuffers::WIPOffset<flatbuffers::Vector<'b , Ability>>)1228 pub fn add_testarrayofsortedstruct(&mut self, testarrayofsortedstruct: flatbuffers::WIPOffset<flatbuffers::Vector<'b , Ability>>) {
1229 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_TESTARRAYOFSORTEDSTRUCT, testarrayofsortedstruct);
1230 }
1231 #[inline]
add_flex(&mut self, flex: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>)1232 pub fn add_flex(&mut self, flex: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
1233 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_FLEX, flex);
1234 }
1235 #[inline]
add_test5(&mut self, test5: flatbuffers::WIPOffset<flatbuffers::Vector<'b , Test>>)1236 pub fn add_test5(&mut self, test5: flatbuffers::WIPOffset<flatbuffers::Vector<'b , Test>>) {
1237 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_TEST5, test5);
1238 }
1239 #[inline]
add_vector_of_longs(&mut self, vector_of_longs: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i64>>)1240 pub fn add_vector_of_longs(&mut self, vector_of_longs: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i64>>) {
1241 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_VECTOR_OF_LONGS, vector_of_longs);
1242 }
1243 #[inline]
add_vector_of_doubles(&mut self, vector_of_doubles: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f64>>)1244 pub fn add_vector_of_doubles(&mut self, vector_of_doubles: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f64>>) {
1245 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_VECTOR_OF_DOUBLES, vector_of_doubles);
1246 }
1247 #[inline]
add_parent_namespace_test(&mut self, parent_namespace_test: flatbuffers::WIPOffset<super::InParentNamespace<'b >>)1248 pub fn add_parent_namespace_test(&mut self, parent_namespace_test: flatbuffers::WIPOffset<super::InParentNamespace<'b >>) {
1249 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<super::InParentNamespace>>(Monster::VT_PARENT_NAMESPACE_TEST, parent_namespace_test);
1250 }
1251 #[inline]
add_vector_of_referrables(&mut self, vector_of_referrables: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Referrable<'b >>>>)1252 pub fn add_vector_of_referrables(&mut self, vector_of_referrables: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Referrable<'b >>>>) {
1253 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_VECTOR_OF_REFERRABLES, vector_of_referrables);
1254 }
1255 #[inline]
add_single_weak_reference(&mut self, single_weak_reference: u64)1256 pub fn add_single_weak_reference(&mut self, single_weak_reference: u64) {
1257 self.fbb_.push_slot::<u64>(Monster::VT_SINGLE_WEAK_REFERENCE, single_weak_reference, 0);
1258 }
1259 #[inline]
add_vector_of_weak_references(&mut self, vector_of_weak_references: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u64>>)1260 pub fn add_vector_of_weak_references(&mut self, vector_of_weak_references: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u64>>) {
1261 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_VECTOR_OF_WEAK_REFERENCES, vector_of_weak_references);
1262 }
1263 #[inline]
add_vector_of_strong_referrables(&mut self, vector_of_strong_referrables: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Referrable<'b >>>>)1264 pub fn add_vector_of_strong_referrables(&mut self, vector_of_strong_referrables: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Referrable<'b >>>>) {
1265 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_VECTOR_OF_STRONG_REFERRABLES, vector_of_strong_referrables);
1266 }
1267 #[inline]
add_co_owning_reference(&mut self, co_owning_reference: u64)1268 pub fn add_co_owning_reference(&mut self, co_owning_reference: u64) {
1269 self.fbb_.push_slot::<u64>(Monster::VT_CO_OWNING_REFERENCE, co_owning_reference, 0);
1270 }
1271 #[inline]
add_vector_of_co_owning_references(&mut self, vector_of_co_owning_references: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u64>>)1272 pub fn add_vector_of_co_owning_references(&mut self, vector_of_co_owning_references: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u64>>) {
1273 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_VECTOR_OF_CO_OWNING_REFERENCES, vector_of_co_owning_references);
1274 }
1275 #[inline]
add_non_owning_reference(&mut self, non_owning_reference: u64)1276 pub fn add_non_owning_reference(&mut self, non_owning_reference: u64) {
1277 self.fbb_.push_slot::<u64>(Monster::VT_NON_OWNING_REFERENCE, non_owning_reference, 0);
1278 }
1279 #[inline]
add_vector_of_non_owning_references(&mut self, vector_of_non_owning_references: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u64>>)1280 pub fn add_vector_of_non_owning_references(&mut self, vector_of_non_owning_references: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u64>>) {
1281 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_VECTOR_OF_NON_OWNING_REFERENCES, vector_of_non_owning_references);
1282 }
1283 #[inline]
add_any_unique_type(&mut self, any_unique_type: AnyUniqueAliases)1284 pub fn add_any_unique_type(&mut self, any_unique_type: AnyUniqueAliases) {
1285 self.fbb_.push_slot::<AnyUniqueAliases>(Monster::VT_ANY_UNIQUE_TYPE, any_unique_type, AnyUniqueAliases::NONE);
1286 }
1287 #[inline]
add_any_unique(&mut self, any_unique: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>)1288 pub fn add_any_unique(&mut self, any_unique: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
1289 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_ANY_UNIQUE, any_unique);
1290 }
1291 #[inline]
add_any_ambiguous_type(&mut self, any_ambiguous_type: AnyAmbiguousAliases)1292 pub fn add_any_ambiguous_type(&mut self, any_ambiguous_type: AnyAmbiguousAliases) {
1293 self.fbb_.push_slot::<AnyAmbiguousAliases>(Monster::VT_ANY_AMBIGUOUS_TYPE, any_ambiguous_type, AnyAmbiguousAliases::NONE);
1294 }
1295 #[inline]
add_any_ambiguous(&mut self, any_ambiguous: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>)1296 pub fn add_any_ambiguous(&mut self, any_ambiguous: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
1297 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_ANY_AMBIGUOUS, any_ambiguous);
1298 }
1299 #[inline]
add_vector_of_enums(&mut self, vector_of_enums: flatbuffers::WIPOffset<flatbuffers::Vector<'b , Color>>)1300 pub fn add_vector_of_enums(&mut self, vector_of_enums: flatbuffers::WIPOffset<flatbuffers::Vector<'b , Color>>) {
1301 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_VECTOR_OF_ENUMS, vector_of_enums);
1302 }
1303 #[inline]
add_signed_enum(&mut self, signed_enum: Race)1304 pub fn add_signed_enum(&mut self, signed_enum: Race) {
1305 self.fbb_.push_slot::<Race>(Monster::VT_SIGNED_ENUM, signed_enum, Race::None);
1306 }
1307 #[inline]
add_testrequirednestedflatbuffer(&mut self, testrequirednestedflatbuffer: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>)1308 pub fn add_testrequirednestedflatbuffer(&mut self, testrequirednestedflatbuffer: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
1309 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_TESTREQUIREDNESTEDFLATBUFFER, testrequirednestedflatbuffer);
1310 }
1311 #[inline]
add_scalar_key_sorted_tables(&mut self, scalar_key_sorted_tables: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Stat<'b >>>>)1312 pub fn add_scalar_key_sorted_tables(&mut self, scalar_key_sorted_tables: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Stat<'b >>>>) {
1313 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_SCALAR_KEY_SORTED_TABLES, scalar_key_sorted_tables);
1314 }
1315 #[inline]
add_native_inline(&mut self, native_inline: &Test)1316 pub fn add_native_inline(&mut self, native_inline: &Test) {
1317 self.fbb_.push_slot_always::<&Test>(Monster::VT_NATIVE_INLINE, native_inline);
1318 }
1319 #[inline]
add_long_enum_non_enum_default(&mut self, long_enum_non_enum_default: LongEnum)1320 pub fn add_long_enum_non_enum_default(&mut self, long_enum_non_enum_default: LongEnum) {
1321 self.fbb_.push_slot::<LongEnum>(Monster::VT_LONG_ENUM_NON_ENUM_DEFAULT, long_enum_non_enum_default, Default::default());
1322 }
1323 #[inline]
add_long_enum_normal_default(&mut self, long_enum_normal_default: LongEnum)1324 pub fn add_long_enum_normal_default(&mut self, long_enum_normal_default: LongEnum) {
1325 self.fbb_.push_slot::<LongEnum>(Monster::VT_LONG_ENUM_NORMAL_DEFAULT, long_enum_normal_default, LongEnum::LongOne);
1326 }
1327 #[inline]
new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> MonsterBuilder<'a, 'b>1328 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> MonsterBuilder<'a, 'b> {
1329 let start = _fbb.start_table();
1330 MonsterBuilder {
1331 fbb_: _fbb,
1332 start_: start,
1333 }
1334 }
1335 #[inline]
finish(self) -> flatbuffers::WIPOffset<Monster<'a>>1336 pub fn finish(self) -> flatbuffers::WIPOffset<Monster<'a>> {
1337 let o = self.fbb_.end_table(self.start_);
1338 self.fbb_.required(o, Monster::VT_NAME,"name");
1339 flatbuffers::WIPOffset::new(o.value())
1340 }
1341 }
1342
1343 impl core::fmt::Debug for Monster<'_> {
fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result1344 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1345 let mut ds = f.debug_struct("Monster");
1346 ds.field("pos", &self.pos());
1347 ds.field("mana", &self.mana());
1348 ds.field("hp", &self.hp());
1349 ds.field("name", &self.name());
1350 ds.field("inventory", &self.inventory());
1351 ds.field("color", &self.color());
1352 ds.field("test_type", &self.test_type());
1353 match self.test_type() {
1354 Any::Monster => {
1355 if let Some(x) = self.test_as_monster() {
1356 ds.field("test", &x)
1357 } else {
1358 ds.field("test", &"InvalidFlatbuffer: Union discriminant does not match value.")
1359 }
1360 },
1361 Any::TestSimpleTableWithEnum => {
1362 if let Some(x) = self.test_as_test_simple_table_with_enum() {
1363 ds.field("test", &x)
1364 } else {
1365 ds.field("test", &"InvalidFlatbuffer: Union discriminant does not match value.")
1366 }
1367 },
1368 Any::MyGame_Example2_Monster => {
1369 if let Some(x) = self.test_as_my_game_example_2_monster() {
1370 ds.field("test", &x)
1371 } else {
1372 ds.field("test", &"InvalidFlatbuffer: Union discriminant does not match value.")
1373 }
1374 },
1375 _ => {
1376 let x: Option<()> = None;
1377 ds.field("test", &x)
1378 },
1379 };
1380 ds.field("test4", &self.test4());
1381 ds.field("testarrayofstring", &self.testarrayofstring());
1382 ds.field("testarrayoftables", &self.testarrayoftables());
1383 ds.field("enemy", &self.enemy());
1384 ds.field("testnestedflatbuffer", &self.testnestedflatbuffer());
1385 ds.field("testempty", &self.testempty());
1386 ds.field("testbool", &self.testbool());
1387 ds.field("testhashs32_fnv1", &self.testhashs32_fnv1());
1388 ds.field("testhashu32_fnv1", &self.testhashu32_fnv1());
1389 ds.field("testhashs64_fnv1", &self.testhashs64_fnv1());
1390 ds.field("testhashu64_fnv1", &self.testhashu64_fnv1());
1391 ds.field("testhashs32_fnv1a", &self.testhashs32_fnv1a());
1392 ds.field("testhashu32_fnv1a", &self.testhashu32_fnv1a());
1393 ds.field("testhashs64_fnv1a", &self.testhashs64_fnv1a());
1394 ds.field("testhashu64_fnv1a", &self.testhashu64_fnv1a());
1395 ds.field("testarrayofbools", &self.testarrayofbools());
1396 ds.field("testf", &self.testf());
1397 ds.field("testf2", &self.testf2());
1398 ds.field("testf3", &self.testf3());
1399 ds.field("testarrayofstring2", &self.testarrayofstring2());
1400 ds.field("testarrayofsortedstruct", &self.testarrayofsortedstruct());
1401 ds.field("flex", &self.flex());
1402 ds.field("test5", &self.test5());
1403 ds.field("vector_of_longs", &self.vector_of_longs());
1404 ds.field("vector_of_doubles", &self.vector_of_doubles());
1405 ds.field("parent_namespace_test", &self.parent_namespace_test());
1406 ds.field("vector_of_referrables", &self.vector_of_referrables());
1407 ds.field("single_weak_reference", &self.single_weak_reference());
1408 ds.field("vector_of_weak_references", &self.vector_of_weak_references());
1409 ds.field("vector_of_strong_referrables", &self.vector_of_strong_referrables());
1410 ds.field("co_owning_reference", &self.co_owning_reference());
1411 ds.field("vector_of_co_owning_references", &self.vector_of_co_owning_references());
1412 ds.field("non_owning_reference", &self.non_owning_reference());
1413 ds.field("vector_of_non_owning_references", &self.vector_of_non_owning_references());
1414 ds.field("any_unique_type", &self.any_unique_type());
1415 match self.any_unique_type() {
1416 AnyUniqueAliases::M => {
1417 if let Some(x) = self.any_unique_as_m() {
1418 ds.field("any_unique", &x)
1419 } else {
1420 ds.field("any_unique", &"InvalidFlatbuffer: Union discriminant does not match value.")
1421 }
1422 },
1423 AnyUniqueAliases::TS => {
1424 if let Some(x) = self.any_unique_as_ts() {
1425 ds.field("any_unique", &x)
1426 } else {
1427 ds.field("any_unique", &"InvalidFlatbuffer: Union discriminant does not match value.")
1428 }
1429 },
1430 AnyUniqueAliases::M2 => {
1431 if let Some(x) = self.any_unique_as_m2() {
1432 ds.field("any_unique", &x)
1433 } else {
1434 ds.field("any_unique", &"InvalidFlatbuffer: Union discriminant does not match value.")
1435 }
1436 },
1437 _ => {
1438 let x: Option<()> = None;
1439 ds.field("any_unique", &x)
1440 },
1441 };
1442 ds.field("any_ambiguous_type", &self.any_ambiguous_type());
1443 match self.any_ambiguous_type() {
1444 AnyAmbiguousAliases::M1 => {
1445 if let Some(x) = self.any_ambiguous_as_m1() {
1446 ds.field("any_ambiguous", &x)
1447 } else {
1448 ds.field("any_ambiguous", &"InvalidFlatbuffer: Union discriminant does not match value.")
1449 }
1450 },
1451 AnyAmbiguousAliases::M2 => {
1452 if let Some(x) = self.any_ambiguous_as_m2() {
1453 ds.field("any_ambiguous", &x)
1454 } else {
1455 ds.field("any_ambiguous", &"InvalidFlatbuffer: Union discriminant does not match value.")
1456 }
1457 },
1458 AnyAmbiguousAliases::M3 => {
1459 if let Some(x) = self.any_ambiguous_as_m3() {
1460 ds.field("any_ambiguous", &x)
1461 } else {
1462 ds.field("any_ambiguous", &"InvalidFlatbuffer: Union discriminant does not match value.")
1463 }
1464 },
1465 _ => {
1466 let x: Option<()> = None;
1467 ds.field("any_ambiguous", &x)
1468 },
1469 };
1470 ds.field("vector_of_enums", &self.vector_of_enums());
1471 ds.field("signed_enum", &self.signed_enum());
1472 ds.field("testrequirednestedflatbuffer", &self.testrequirednestedflatbuffer());
1473 ds.field("scalar_key_sorted_tables", &self.scalar_key_sorted_tables());
1474 ds.field("native_inline", &self.native_inline());
1475 ds.field("long_enum_non_enum_default", &self.long_enum_non_enum_default());
1476 ds.field("long_enum_normal_default", &self.long_enum_normal_default());
1477 ds.finish()
1478 }
1479 }
1480 #[non_exhaustive]
1481 #[derive(Debug, Clone, PartialEq)]
1482 pub struct MonsterT {
1483 pub pos: Option<Vec3T>,
1484 pub mana: i16,
1485 pub hp: i16,
1486 pub name: String,
1487 pub inventory: Option<Vec<u8>>,
1488 pub color: Color,
1489 pub test: AnyT,
1490 pub test4: Option<Vec<TestT>>,
1491 pub testarrayofstring: Option<Vec<String>>,
1492 pub testarrayoftables: Option<Vec<MonsterT>>,
1493 pub enemy: Option<Box<MonsterT>>,
1494 pub testnestedflatbuffer: Option<Vec<u8>>,
1495 pub testempty: Option<Box<StatT>>,
1496 pub testbool: bool,
1497 pub testhashs32_fnv1: i32,
1498 pub testhashu32_fnv1: u32,
1499 pub testhashs64_fnv1: i64,
1500 pub testhashu64_fnv1: u64,
1501 pub testhashs32_fnv1a: i32,
1502 pub testhashu32_fnv1a: u32,
1503 pub testhashs64_fnv1a: i64,
1504 pub testhashu64_fnv1a: u64,
1505 pub testarrayofbools: Option<Vec<bool>>,
1506 pub testf: f32,
1507 pub testf2: f32,
1508 pub testf3: f32,
1509 pub testarrayofstring2: Option<Vec<String>>,
1510 pub testarrayofsortedstruct: Option<Vec<AbilityT>>,
1511 pub flex: Option<Vec<u8>>,
1512 pub test5: Option<Vec<TestT>>,
1513 pub vector_of_longs: Option<Vec<i64>>,
1514 pub vector_of_doubles: Option<Vec<f64>>,
1515 pub parent_namespace_test: Option<Box<super::InParentNamespaceT>>,
1516 pub vector_of_referrables: Option<Vec<ReferrableT>>,
1517 pub single_weak_reference: u64,
1518 pub vector_of_weak_references: Option<Vec<u64>>,
1519 pub vector_of_strong_referrables: Option<Vec<ReferrableT>>,
1520 pub co_owning_reference: u64,
1521 pub vector_of_co_owning_references: Option<Vec<u64>>,
1522 pub non_owning_reference: u64,
1523 pub vector_of_non_owning_references: Option<Vec<u64>>,
1524 pub any_unique: AnyUniqueAliasesT,
1525 pub any_ambiguous: AnyAmbiguousAliasesT,
1526 pub vector_of_enums: Option<Vec<Color>>,
1527 pub signed_enum: Race,
1528 pub testrequirednestedflatbuffer: Option<Vec<u8>>,
1529 pub scalar_key_sorted_tables: Option<Vec<StatT>>,
1530 pub native_inline: Option<TestT>,
1531 pub long_enum_non_enum_default: LongEnum,
1532 pub long_enum_normal_default: LongEnum,
1533 }
1534 impl Default for MonsterT {
default() -> Self1535 fn default() -> Self {
1536 Self {
1537 pos: None,
1538 mana: 150,
1539 hp: 100,
1540 name: "".to_string(),
1541 inventory: None,
1542 color: Color::Blue,
1543 test: AnyT::NONE,
1544 test4: None,
1545 testarrayofstring: None,
1546 testarrayoftables: None,
1547 enemy: None,
1548 testnestedflatbuffer: None,
1549 testempty: None,
1550 testbool: false,
1551 testhashs32_fnv1: 0,
1552 testhashu32_fnv1: 0,
1553 testhashs64_fnv1: 0,
1554 testhashu64_fnv1: 0,
1555 testhashs32_fnv1a: 0,
1556 testhashu32_fnv1a: 0,
1557 testhashs64_fnv1a: 0,
1558 testhashu64_fnv1a: 0,
1559 testarrayofbools: None,
1560 testf: 3.14159,
1561 testf2: 3.0,
1562 testf3: 0.0,
1563 testarrayofstring2: None,
1564 testarrayofsortedstruct: None,
1565 flex: None,
1566 test5: None,
1567 vector_of_longs: None,
1568 vector_of_doubles: None,
1569 parent_namespace_test: None,
1570 vector_of_referrables: None,
1571 single_weak_reference: 0,
1572 vector_of_weak_references: None,
1573 vector_of_strong_referrables: None,
1574 co_owning_reference: 0,
1575 vector_of_co_owning_references: None,
1576 non_owning_reference: 0,
1577 vector_of_non_owning_references: None,
1578 any_unique: AnyUniqueAliasesT::NONE,
1579 any_ambiguous: AnyAmbiguousAliasesT::NONE,
1580 vector_of_enums: None,
1581 signed_enum: Race::None,
1582 testrequirednestedflatbuffer: None,
1583 scalar_key_sorted_tables: None,
1584 native_inline: None,
1585 long_enum_non_enum_default: Default::default(),
1586 long_enum_normal_default: LongEnum::LongOne,
1587 }
1588 }
1589 }
1590 impl MonsterT {
pack<'b>( &self, _fbb: &mut flatbuffers::FlatBufferBuilder<'b> ) -> flatbuffers::WIPOffset<Monster<'b>>1591 pub fn pack<'b>(
1592 &self,
1593 _fbb: &mut flatbuffers::FlatBufferBuilder<'b>
1594 ) -> flatbuffers::WIPOffset<Monster<'b>> {
1595 let pos_tmp = self.pos.as_ref().map(|x| x.pack());
1596 let pos = pos_tmp.as_ref();
1597 let mana = self.mana;
1598 let hp = self.hp;
1599 let name = Some({
1600 let x = &self.name;
1601 _fbb.create_string(x)
1602 });
1603 let inventory = self.inventory.as_ref().map(|x|{
1604 _fbb.create_vector(x)
1605 });
1606 let color = self.color;
1607 let test_type = self.test.any_type();
1608 let test = self.test.pack(_fbb);
1609 let test4 = self.test4.as_ref().map(|x|{
1610 let w: Vec<_> = x.iter().map(|t| t.pack()).collect();_fbb.create_vector(&w)
1611 });
1612 let testarrayofstring = self.testarrayofstring.as_ref().map(|x|{
1613 let w: Vec<_> = x.iter().map(|s| s.as_ref()).collect();_fbb.create_vector_of_strings(&w)
1614 });
1615 let testarrayoftables = self.testarrayoftables.as_ref().map(|x|{
1616 let w: Vec<_> = x.iter().map(|t| t.pack(_fbb)).collect();_fbb.create_vector(&w)
1617 });
1618 let enemy = self.enemy.as_ref().map(|x|{
1619 x.pack(_fbb)
1620 });
1621 let testnestedflatbuffer = self.testnestedflatbuffer.as_ref().map(|x|{
1622 _fbb.create_vector(x)
1623 });
1624 let testempty = self.testempty.as_ref().map(|x|{
1625 x.pack(_fbb)
1626 });
1627 let testbool = self.testbool;
1628 let testhashs32_fnv1 = self.testhashs32_fnv1;
1629 let testhashu32_fnv1 = self.testhashu32_fnv1;
1630 let testhashs64_fnv1 = self.testhashs64_fnv1;
1631 let testhashu64_fnv1 = self.testhashu64_fnv1;
1632 let testhashs32_fnv1a = self.testhashs32_fnv1a;
1633 let testhashu32_fnv1a = self.testhashu32_fnv1a;
1634 let testhashs64_fnv1a = self.testhashs64_fnv1a;
1635 let testhashu64_fnv1a = self.testhashu64_fnv1a;
1636 let testarrayofbools = self.testarrayofbools.as_ref().map(|x|{
1637 _fbb.create_vector(x)
1638 });
1639 let testf = self.testf;
1640 let testf2 = self.testf2;
1641 let testf3 = self.testf3;
1642 let testarrayofstring2 = self.testarrayofstring2.as_ref().map(|x|{
1643 let w: Vec<_> = x.iter().map(|s| s.as_ref()).collect();_fbb.create_vector_of_strings(&w)
1644 });
1645 let testarrayofsortedstruct = self.testarrayofsortedstruct.as_ref().map(|x|{
1646 let w: Vec<_> = x.iter().map(|t| t.pack()).collect();_fbb.create_vector(&w)
1647 });
1648 let flex = self.flex.as_ref().map(|x|{
1649 _fbb.create_vector(x)
1650 });
1651 let test5 = self.test5.as_ref().map(|x|{
1652 let w: Vec<_> = x.iter().map(|t| t.pack()).collect();_fbb.create_vector(&w)
1653 });
1654 let vector_of_longs = self.vector_of_longs.as_ref().map(|x|{
1655 _fbb.create_vector(x)
1656 });
1657 let vector_of_doubles = self.vector_of_doubles.as_ref().map(|x|{
1658 _fbb.create_vector(x)
1659 });
1660 let parent_namespace_test = self.parent_namespace_test.as_ref().map(|x|{
1661 x.pack(_fbb)
1662 });
1663 let vector_of_referrables = self.vector_of_referrables.as_ref().map(|x|{
1664 let w: Vec<_> = x.iter().map(|t| t.pack(_fbb)).collect();_fbb.create_vector(&w)
1665 });
1666 let single_weak_reference = self.single_weak_reference;
1667 let vector_of_weak_references = self.vector_of_weak_references.as_ref().map(|x|{
1668 _fbb.create_vector(x)
1669 });
1670 let vector_of_strong_referrables = self.vector_of_strong_referrables.as_ref().map(|x|{
1671 let w: Vec<_> = x.iter().map(|t| t.pack(_fbb)).collect();_fbb.create_vector(&w)
1672 });
1673 let co_owning_reference = self.co_owning_reference;
1674 let vector_of_co_owning_references = self.vector_of_co_owning_references.as_ref().map(|x|{
1675 _fbb.create_vector(x)
1676 });
1677 let non_owning_reference = self.non_owning_reference;
1678 let vector_of_non_owning_references = self.vector_of_non_owning_references.as_ref().map(|x|{
1679 _fbb.create_vector(x)
1680 });
1681 let any_unique_type = self.any_unique.any_unique_aliases_type();
1682 let any_unique = self.any_unique.pack(_fbb);
1683 let any_ambiguous_type = self.any_ambiguous.any_ambiguous_aliases_type();
1684 let any_ambiguous = self.any_ambiguous.pack(_fbb);
1685 let vector_of_enums = self.vector_of_enums.as_ref().map(|x|{
1686 _fbb.create_vector(x)
1687 });
1688 let signed_enum = self.signed_enum;
1689 let testrequirednestedflatbuffer = self.testrequirednestedflatbuffer.as_ref().map(|x|{
1690 _fbb.create_vector(x)
1691 });
1692 let scalar_key_sorted_tables = self.scalar_key_sorted_tables.as_ref().map(|x|{
1693 let w: Vec<_> = x.iter().map(|t| t.pack(_fbb)).collect();_fbb.create_vector(&w)
1694 });
1695 let native_inline_tmp = self.native_inline.as_ref().map(|x| x.pack());
1696 let native_inline = native_inline_tmp.as_ref();
1697 let long_enum_non_enum_default = self.long_enum_non_enum_default;
1698 let long_enum_normal_default = self.long_enum_normal_default;
1699 Monster::create(_fbb, &MonsterArgs{
1700 pos,
1701 mana,
1702 hp,
1703 name,
1704 inventory,
1705 color,
1706 test_type,
1707 test,
1708 test4,
1709 testarrayofstring,
1710 testarrayoftables,
1711 enemy,
1712 testnestedflatbuffer,
1713 testempty,
1714 testbool,
1715 testhashs32_fnv1,
1716 testhashu32_fnv1,
1717 testhashs64_fnv1,
1718 testhashu64_fnv1,
1719 testhashs32_fnv1a,
1720 testhashu32_fnv1a,
1721 testhashs64_fnv1a,
1722 testhashu64_fnv1a,
1723 testarrayofbools,
1724 testf,
1725 testf2,
1726 testf3,
1727 testarrayofstring2,
1728 testarrayofsortedstruct,
1729 flex,
1730 test5,
1731 vector_of_longs,
1732 vector_of_doubles,
1733 parent_namespace_test,
1734 vector_of_referrables,
1735 single_weak_reference,
1736 vector_of_weak_references,
1737 vector_of_strong_referrables,
1738 co_owning_reference,
1739 vector_of_co_owning_references,
1740 non_owning_reference,
1741 vector_of_non_owning_references,
1742 any_unique_type,
1743 any_unique,
1744 any_ambiguous_type,
1745 any_ambiguous,
1746 vector_of_enums,
1747 signed_enum,
1748 testrequirednestedflatbuffer,
1749 scalar_key_sorted_tables,
1750 native_inline,
1751 long_enum_non_enum_default,
1752 long_enum_normal_default,
1753 })
1754 }
1755 }
1756 #[inline]
1757 #[deprecated(since="2.0.0", note="Deprecated in favor of `root_as...` methods.")]
get_root_as_monster<'a>(buf: &'a [u8]) -> Monster<'a>1758 pub fn get_root_as_monster<'a>(buf: &'a [u8]) -> Monster<'a> {
1759 unsafe { flatbuffers::root_unchecked::<Monster<'a>>(buf) }
1760 }
1761
1762 #[inline]
1763 #[deprecated(since="2.0.0", note="Deprecated in favor of `root_as...` methods.")]
get_size_prefixed_root_as_monster<'a>(buf: &'a [u8]) -> Monster<'a>1764 pub fn get_size_prefixed_root_as_monster<'a>(buf: &'a [u8]) -> Monster<'a> {
1765 unsafe { flatbuffers::size_prefixed_root_unchecked::<Monster<'a>>(buf) }
1766 }
1767
1768 #[inline]
1769 /// Verifies that a buffer of bytes contains a `Monster`
1770 /// and returns it.
1771 /// Note that verification is still experimental and may not
1772 /// catch every error, or be maximally performant. For the
1773 /// previous, unchecked, behavior use
1774 /// `root_as_monster_unchecked`.
root_as_monster(buf: &[u8]) -> Result<Monster, flatbuffers::InvalidFlatbuffer>1775 pub fn root_as_monster(buf: &[u8]) -> Result<Monster, flatbuffers::InvalidFlatbuffer> {
1776 flatbuffers::root::<Monster>(buf)
1777 }
1778 #[inline]
1779 /// Verifies that a buffer of bytes contains a size prefixed
1780 /// `Monster` and returns it.
1781 /// Note that verification is still experimental and may not
1782 /// catch every error, or be maximally performant. For the
1783 /// previous, unchecked, behavior use
1784 /// `size_prefixed_root_as_monster_unchecked`.
size_prefixed_root_as_monster(buf: &[u8]) -> Result<Monster, flatbuffers::InvalidFlatbuffer>1785 pub fn size_prefixed_root_as_monster(buf: &[u8]) -> Result<Monster, flatbuffers::InvalidFlatbuffer> {
1786 flatbuffers::size_prefixed_root::<Monster>(buf)
1787 }
1788 #[inline]
1789 /// Verifies, with the given options, that a buffer of bytes
1790 /// contains a `Monster` and returns it.
1791 /// Note that verification is still experimental and may not
1792 /// catch every error, or be maximally performant. For the
1793 /// previous, unchecked, behavior use
1794 /// `root_as_monster_unchecked`.
root_as_monster_with_opts<'b, 'o>( opts: &'o flatbuffers::VerifierOptions, buf: &'b [u8], ) -> Result<Monster<'b>, flatbuffers::InvalidFlatbuffer>1795 pub fn root_as_monster_with_opts<'b, 'o>(
1796 opts: &'o flatbuffers::VerifierOptions,
1797 buf: &'b [u8],
1798 ) -> Result<Monster<'b>, flatbuffers::InvalidFlatbuffer> {
1799 flatbuffers::root_with_opts::<Monster<'b>>(opts, buf)
1800 }
1801 #[inline]
1802 /// Verifies, with the given verifier options, that a buffer of
1803 /// bytes contains a size prefixed `Monster` and returns
1804 /// it. Note that verification is still experimental and may not
1805 /// catch every error, or be maximally performant. For the
1806 /// previous, unchecked, behavior use
1807 /// `root_as_monster_unchecked`.
size_prefixed_root_as_monster_with_opts<'b, 'o>( opts: &'o flatbuffers::VerifierOptions, buf: &'b [u8], ) -> Result<Monster<'b>, flatbuffers::InvalidFlatbuffer>1808 pub fn size_prefixed_root_as_monster_with_opts<'b, 'o>(
1809 opts: &'o flatbuffers::VerifierOptions,
1810 buf: &'b [u8],
1811 ) -> Result<Monster<'b>, flatbuffers::InvalidFlatbuffer> {
1812 flatbuffers::size_prefixed_root_with_opts::<Monster<'b>>(opts, buf)
1813 }
1814 #[inline]
1815 /// Assumes, without verification, that a buffer of bytes contains a Monster and returns it.
1816 /// # Safety
1817 /// Callers must trust the given bytes do indeed contain a valid `Monster`.
root_as_monster_unchecked(buf: &[u8]) -> Monster1818 pub unsafe fn root_as_monster_unchecked(buf: &[u8]) -> Monster {
1819 flatbuffers::root_unchecked::<Monster>(buf)
1820 }
1821 #[inline]
1822 /// Assumes, without verification, that a buffer of bytes contains a size prefixed Monster and returns it.
1823 /// # Safety
1824 /// Callers must trust the given bytes do indeed contain a valid size prefixed `Monster`.
size_prefixed_root_as_monster_unchecked(buf: &[u8]) -> Monster1825 pub unsafe fn size_prefixed_root_as_monster_unchecked(buf: &[u8]) -> Monster {
1826 flatbuffers::size_prefixed_root_unchecked::<Monster>(buf)
1827 }
1828 pub const MONSTER_IDENTIFIER: &str = "MONS";
1829
1830 #[inline]
monster_buffer_has_identifier(buf: &[u8]) -> bool1831 pub fn monster_buffer_has_identifier(buf: &[u8]) -> bool {
1832 flatbuffers::buffer_has_identifier(buf, MONSTER_IDENTIFIER, false)
1833 }
1834
1835 #[inline]
monster_size_prefixed_buffer_has_identifier(buf: &[u8]) -> bool1836 pub fn monster_size_prefixed_buffer_has_identifier(buf: &[u8]) -> bool {
1837 flatbuffers::buffer_has_identifier(buf, MONSTER_IDENTIFIER, true)
1838 }
1839
1840 pub const MONSTER_EXTENSION: &str = "mon";
1841
1842 #[inline]
finish_monster_buffer<'a, 'b>( fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>, root: flatbuffers::WIPOffset<Monster<'a>>)1843 pub fn finish_monster_buffer<'a, 'b>(
1844 fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>,
1845 root: flatbuffers::WIPOffset<Monster<'a>>) {
1846 fbb.finish(root, Some(MONSTER_IDENTIFIER));
1847 }
1848
1849 #[inline]
finish_size_prefixed_monster_buffer<'a, 'b>(fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>, root: flatbuffers::WIPOffset<Monster<'a>>)1850 pub fn finish_size_prefixed_monster_buffer<'a, 'b>(fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>, root: flatbuffers::WIPOffset<Monster<'a>>) {
1851 fbb.finish_size_prefixed(root, Some(MONSTER_IDENTIFIER));
1852 }
1853