• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 use self::flatbuffers::{EndianScalar, Follow};
11 use super::*;
12 pub enum MonsterOffset {}
13 #[derive(Copy, Clone, PartialEq)]
14 
15 pub struct Monster<'a> {
16   pub _tab: flatbuffers::Table<'a>,
17 }
18 
19 impl<'a> flatbuffers::Follow<'a> for Monster<'a> {
20   type Inner = Monster<'a>;
21   #[inline]
follow(buf: &'a [u8], loc: usize) -> Self::Inner22   unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
23     Self { _tab: flatbuffers::Table::new(buf, loc) }
24   }
25 }
26 
27 impl<'a> Monster<'a> {
28   pub const VT_POS: flatbuffers::VOffsetT = 4;
29   pub const VT_MANA: flatbuffers::VOffsetT = 6;
30   pub const VT_HP: flatbuffers::VOffsetT = 8;
31   pub const VT_NAME: flatbuffers::VOffsetT = 10;
32   pub const VT_INVENTORY: flatbuffers::VOffsetT = 14;
33   pub const VT_COLOR: flatbuffers::VOffsetT = 16;
34   pub const VT_WEAPONS: flatbuffers::VOffsetT = 18;
35   pub const VT_EQUIPPED_TYPE: flatbuffers::VOffsetT = 20;
36   pub const VT_EQUIPPED: flatbuffers::VOffsetT = 22;
37   pub const VT_PATH: flatbuffers::VOffsetT = 24;
38 
get_fully_qualified_name() -> &'static str39   pub const fn get_fully_qualified_name() -> &'static str {
40     "MyGame.Sample.Monster"
41   }
42 
43   #[inline]
init_from_table(table: flatbuffers::Table<'a>) -> Self44   pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
45     Monster { _tab: table }
46   }
47   #[allow(unused_mut)]
create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>( _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>, args: &'args MonsterArgs<'args> ) -> flatbuffers::WIPOffset<Monster<'bldr>>48   pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
49     _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
50     args: &'args MonsterArgs<'args>
51   ) -> flatbuffers::WIPOffset<Monster<'bldr>> {
52     let mut builder = MonsterBuilder::new(_fbb);
53     if let Some(x) = args.path { builder.add_path(x); }
54     if let Some(x) = args.equipped { builder.add_equipped(x); }
55     if let Some(x) = args.weapons { builder.add_weapons(x); }
56     if let Some(x) = args.inventory { builder.add_inventory(x); }
57     if let Some(x) = args.name { builder.add_name(x); }
58     if let Some(x) = args.pos { builder.add_pos(x); }
59     builder.add_hp(args.hp);
60     builder.add_mana(args.mana);
61     builder.add_equipped_type(args.equipped_type);
62     builder.add_color(args.color);
63     builder.finish()
64   }
65 
unpack(&self) -> MonsterT66   pub fn unpack(&self) -> MonsterT {
67     let pos = self.pos().map(|x| {
68       x.unpack()
69     });
70     let mana = self.mana();
71     let hp = self.hp();
72     let name = self.name().map(|x| {
73       x.to_string()
74     });
75     let inventory = self.inventory().map(|x| {
76       x.into_iter().collect()
77     });
78     let color = self.color();
79     let weapons = self.weapons().map(|x| {
80       x.iter().map(|t| t.unpack()).collect()
81     });
82     let equipped = match self.equipped_type() {
83       Equipment::NONE => EquipmentT::NONE,
84       Equipment::Weapon => EquipmentT::Weapon(Box::new(
85         self.equipped_as_weapon()
86             .expect("Invalid union table, expected `Equipment::Weapon`.")
87             .unpack()
88       )),
89       _ => EquipmentT::NONE,
90     };
91     let path = self.path().map(|x| {
92       x.iter().map(|t| t.unpack()).collect()
93     });
94     MonsterT {
95       pos,
96       mana,
97       hp,
98       name,
99       inventory,
100       color,
101       weapons,
102       equipped,
103       path,
104     }
105   }
106 
107   #[inline]
pos(&self) -> Option<&'a Vec3>108   pub fn pos(&self) -> Option<&'a Vec3> {
109     // Safety:
110     // Created from valid Table for this object
111     // which contains a valid value in this slot
112     unsafe { self._tab.get::<Vec3>(Monster::VT_POS, None)}
113   }
114   #[inline]
mana(&self) -> i16115   pub fn mana(&self) -> i16 {
116     // Safety:
117     // Created from valid Table for this object
118     // which contains a valid value in this slot
119     unsafe { self._tab.get::<i16>(Monster::VT_MANA, Some(150)).unwrap()}
120   }
121   #[inline]
hp(&self) -> i16122   pub fn hp(&self) -> i16 {
123     // Safety:
124     // Created from valid Table for this object
125     // which contains a valid value in this slot
126     unsafe { self._tab.get::<i16>(Monster::VT_HP, Some(100)).unwrap()}
127   }
128   #[inline]
name(&self) -> Option<&'a str>129   pub fn name(&self) -> Option<&'a str> {
130     // Safety:
131     // Created from valid Table for this object
132     // which contains a valid value in this slot
133     unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(Monster::VT_NAME, None)}
134   }
135   #[inline]
inventory(&self) -> Option<flatbuffers::Vector<'a, u8>>136   pub fn inventory(&self) -> Option<flatbuffers::Vector<'a, u8>> {
137     // Safety:
138     // Created from valid Table for this object
139     // which contains a valid value in this slot
140     unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(Monster::VT_INVENTORY, None)}
141   }
142   #[inline]
color(&self) -> Color143   pub fn color(&self) -> Color {
144     // Safety:
145     // Created from valid Table for this object
146     // which contains a valid value in this slot
147     unsafe { self._tab.get::<Color>(Monster::VT_COLOR, Some(Color::Blue)).unwrap()}
148   }
149   #[inline]
weapons(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Weapon<'a>>>>150   pub fn weapons(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Weapon<'a>>>> {
151     // Safety:
152     // Created from valid Table for this object
153     // which contains a valid value in this slot
154     unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Weapon>>>>(Monster::VT_WEAPONS, None)}
155   }
156   #[inline]
equipped_type(&self) -> Equipment157   pub fn equipped_type(&self) -> Equipment {
158     // Safety:
159     // Created from valid Table for this object
160     // which contains a valid value in this slot
161     unsafe { self._tab.get::<Equipment>(Monster::VT_EQUIPPED_TYPE, Some(Equipment::NONE)).unwrap()}
162   }
163   #[inline]
equipped(&self) -> Option<flatbuffers::Table<'a>>164   pub fn equipped(&self) -> Option<flatbuffers::Table<'a>> {
165     // Safety:
166     // Created from valid Table for this object
167     // which contains a valid value in this slot
168     unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Table<'a>>>(Monster::VT_EQUIPPED, None)}
169   }
170   #[inline]
path(&self) -> Option<flatbuffers::Vector<'a, Vec3>>171   pub fn path(&self) -> Option<flatbuffers::Vector<'a, Vec3>> {
172     // Safety:
173     // Created from valid Table for this object
174     // which contains a valid value in this slot
175     unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, Vec3>>>(Monster::VT_PATH, None)}
176   }
177   #[inline]
178   #[allow(non_snake_case)]
equipped_as_weapon(&self) -> Option<Weapon<'a>>179   pub fn equipped_as_weapon(&self) -> Option<Weapon<'a>> {
180     if self.equipped_type() == Equipment::Weapon {
181       self.equipped().map(|t| {
182        // Safety:
183        // Created from a valid Table for this object
184        // Which contains a valid union in this slot
185        unsafe { Weapon::init_from_table(t) }
186      })
187     } else {
188       None
189     }
190   }
191 
192 }
193 
194 impl flatbuffers::Verifiable for Monster<'_> {
195   #[inline]
run_verifier( v: &mut flatbuffers::Verifier, pos: usize ) -> Result<(), flatbuffers::InvalidFlatbuffer>196   fn run_verifier(
197     v: &mut flatbuffers::Verifier, pos: usize
198   ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
199     use self::flatbuffers::Verifiable;
200     v.visit_table(pos)?
201      .visit_field::<Vec3>("pos", Self::VT_POS, false)?
202      .visit_field::<i16>("mana", Self::VT_MANA, false)?
203      .visit_field::<i16>("hp", Self::VT_HP, false)?
204      .visit_field::<flatbuffers::ForwardsUOffset<&str>>("name", Self::VT_NAME, false)?
205      .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("inventory", Self::VT_INVENTORY, false)?
206      .visit_field::<Color>("color", Self::VT_COLOR, false)?
207      .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<Weapon>>>>("weapons", Self::VT_WEAPONS, false)?
208      .visit_union::<Equipment, _>("equipped_type", Self::VT_EQUIPPED_TYPE, "equipped", Self::VT_EQUIPPED, false, |key, v, pos| {
209         match key {
210           Equipment::Weapon => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Weapon>>("Equipment::Weapon", pos),
211           _ => Ok(()),
212         }
213      })?
214      .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, Vec3>>>("path", Self::VT_PATH, false)?
215      .finish();
216     Ok(())
217   }
218 }
219 pub struct MonsterArgs<'a> {
220     pub pos: Option<&'a Vec3>,
221     pub mana: i16,
222     pub hp: i16,
223     pub name: Option<flatbuffers::WIPOffset<&'a str>>,
224     pub inventory: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
225     pub color: Color,
226     pub weapons: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Weapon<'a>>>>>,
227     pub equipped_type: Equipment,
228     pub equipped: Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>>,
229     pub path: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, Vec3>>>,
230 }
231 impl<'a> Default for MonsterArgs<'a> {
232   #[inline]
default() -> Self233   fn default() -> Self {
234     MonsterArgs {
235       pos: None,
236       mana: 150,
237       hp: 100,
238       name: None,
239       inventory: None,
240       color: Color::Blue,
241       weapons: None,
242       equipped_type: Equipment::NONE,
243       equipped: None,
244       path: None,
245     }
246   }
247 }
248 
249 pub struct MonsterBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
250   fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
251   start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
252 }
253 impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> MonsterBuilder<'a, 'b, A> {
254   #[inline]
add_pos(&mut self, pos: &Vec3)255   pub fn add_pos(&mut self, pos: &Vec3) {
256     self.fbb_.push_slot_always::<&Vec3>(Monster::VT_POS, pos);
257   }
258   #[inline]
add_mana(&mut self, mana: i16)259   pub fn add_mana(&mut self, mana: i16) {
260     self.fbb_.push_slot::<i16>(Monster::VT_MANA, mana, 150);
261   }
262   #[inline]
add_hp(&mut self, hp: i16)263   pub fn add_hp(&mut self, hp: i16) {
264     self.fbb_.push_slot::<i16>(Monster::VT_HP, hp, 100);
265   }
266   #[inline]
add_name(&mut self, name: flatbuffers::WIPOffset<&'b str>)267   pub fn add_name(&mut self, name: flatbuffers::WIPOffset<&'b  str>) {
268     self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_NAME, name);
269   }
270   #[inline]
add_inventory(&mut self, inventory: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>)271   pub fn add_inventory(&mut self, inventory: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
272     self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_INVENTORY, inventory);
273   }
274   #[inline]
add_color(&mut self, color: Color)275   pub fn add_color(&mut self, color: Color) {
276     self.fbb_.push_slot::<Color>(Monster::VT_COLOR, color, Color::Blue);
277   }
278   #[inline]
add_weapons(&mut self, weapons: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Weapon<'b >>>>)279   pub fn add_weapons(&mut self, weapons: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Weapon<'b >>>>) {
280     self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_WEAPONS, weapons);
281   }
282   #[inline]
add_equipped_type(&mut self, equipped_type: Equipment)283   pub fn add_equipped_type(&mut self, equipped_type: Equipment) {
284     self.fbb_.push_slot::<Equipment>(Monster::VT_EQUIPPED_TYPE, equipped_type, Equipment::NONE);
285   }
286   #[inline]
add_equipped(&mut self, equipped: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>)287   pub fn add_equipped(&mut self, equipped: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
288     self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_EQUIPPED, equipped);
289   }
290   #[inline]
add_path(&mut self, path: flatbuffers::WIPOffset<flatbuffers::Vector<'b , Vec3>>)291   pub fn add_path(&mut self, path: flatbuffers::WIPOffset<flatbuffers::Vector<'b , Vec3>>) {
292     self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Monster::VT_PATH, path);
293   }
294   #[inline]
new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> MonsterBuilder<'a, 'b, A>295   pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> MonsterBuilder<'a, 'b, A> {
296     let start = _fbb.start_table();
297     MonsterBuilder {
298       fbb_: _fbb,
299       start_: start,
300     }
301   }
302   #[inline]
finish(self) -> flatbuffers::WIPOffset<Monster<'a>>303   pub fn finish(self) -> flatbuffers::WIPOffset<Monster<'a>> {
304     let o = self.fbb_.end_table(self.start_);
305     flatbuffers::WIPOffset::new(o.value())
306   }
307 }
308 
309 impl core::fmt::Debug for Monster<'_> {
fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result310   fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
311     let mut ds = f.debug_struct("Monster");
312       ds.field("pos", &self.pos());
313       ds.field("mana", &self.mana());
314       ds.field("hp", &self.hp());
315       ds.field("name", &self.name());
316       ds.field("inventory", &self.inventory());
317       ds.field("color", &self.color());
318       ds.field("weapons", &self.weapons());
319       ds.field("equipped_type", &self.equipped_type());
320       match self.equipped_type() {
321         Equipment::Weapon => {
322           if let Some(x) = self.equipped_as_weapon() {
323             ds.field("equipped", &x)
324           } else {
325             ds.field("equipped", &"InvalidFlatbuffer: Union discriminant does not match value.")
326           }
327         },
328         _ => {
329           let x: Option<()> = None;
330           ds.field("equipped", &x)
331         },
332       };
333       ds.field("path", &self.path());
334       ds.finish()
335   }
336 }
337 #[non_exhaustive]
338 #[derive(Debug, Clone, PartialEq)]
339 pub struct MonsterT {
340   pub pos: Option<Vec3T>,
341   pub mana: i16,
342   pub hp: i16,
343   pub name: Option<String>,
344   pub inventory: Option<Vec<u8>>,
345   pub color: Color,
346   pub weapons: Option<Vec<WeaponT>>,
347   pub equipped: EquipmentT,
348   pub path: Option<Vec<Vec3T>>,
349 }
350 impl Default for MonsterT {
default() -> Self351   fn default() -> Self {
352     Self {
353       pos: None,
354       mana: 150,
355       hp: 100,
356       name: None,
357       inventory: None,
358       color: Color::Blue,
359       weapons: None,
360       equipped: EquipmentT::NONE,
361       path: None,
362     }
363   }
364 }
365 impl MonsterT {
pack<'b, A: flatbuffers::Allocator + 'b>( &self, _fbb: &mut flatbuffers::FlatBufferBuilder<'b, A> ) -> flatbuffers::WIPOffset<Monster<'b>>366   pub fn pack<'b, A: flatbuffers::Allocator + 'b>(
367     &self,
368     _fbb: &mut flatbuffers::FlatBufferBuilder<'b, A>
369   ) -> flatbuffers::WIPOffset<Monster<'b>> {
370     let pos_tmp = self.pos.as_ref().map(|x| x.pack());
371     let pos = pos_tmp.as_ref();
372     let mana = self.mana;
373     let hp = self.hp;
374     let name = self.name.as_ref().map(|x|{
375       _fbb.create_string(x)
376     });
377     let inventory = self.inventory.as_ref().map(|x|{
378       _fbb.create_vector(x)
379     });
380     let color = self.color;
381     let weapons = self.weapons.as_ref().map(|x|{
382       let w: Vec<_> = x.iter().map(|t| t.pack(_fbb)).collect();_fbb.create_vector(&w)
383     });
384     let equipped_type = self.equipped.equipment_type();
385     let equipped = self.equipped.pack(_fbb);
386     let path = self.path.as_ref().map(|x|{
387       let w: Vec<_> = x.iter().map(|t| t.pack()).collect();_fbb.create_vector(&w)
388     });
389     Monster::create(_fbb, &MonsterArgs{
390       pos,
391       mana,
392       hp,
393       name,
394       inventory,
395       color,
396       weapons,
397       equipped_type,
398       equipped,
399       path,
400     })
401   }
402 }
403 #[inline]
404 /// Verifies that a buffer of bytes contains a `Monster`
405 /// and returns it.
406 /// Note that verification is still experimental and may not
407 /// catch every error, or be maximally performant. For the
408 /// previous, unchecked, behavior use
409 /// `root_as_monster_unchecked`.
root_as_monster(buf: &[u8]) -> Result<Monster, flatbuffers::InvalidFlatbuffer>410 pub fn root_as_monster(buf: &[u8]) -> Result<Monster, flatbuffers::InvalidFlatbuffer> {
411   flatbuffers::root::<Monster>(buf)
412 }
413 #[inline]
414 /// Verifies that a buffer of bytes contains a size prefixed
415 /// `Monster` and returns it.
416 /// Note that verification is still experimental and may not
417 /// catch every error, or be maximally performant. For the
418 /// previous, unchecked, behavior use
419 /// `size_prefixed_root_as_monster_unchecked`.
size_prefixed_root_as_monster(buf: &[u8]) -> Result<Monster, flatbuffers::InvalidFlatbuffer>420 pub fn size_prefixed_root_as_monster(buf: &[u8]) -> Result<Monster, flatbuffers::InvalidFlatbuffer> {
421   flatbuffers::size_prefixed_root::<Monster>(buf)
422 }
423 #[inline]
424 /// Verifies, with the given options, that a buffer of bytes
425 /// contains a `Monster` and returns it.
426 /// Note that verification is still experimental and may not
427 /// catch every error, or be maximally performant. For the
428 /// previous, unchecked, behavior use
429 /// `root_as_monster_unchecked`.
root_as_monster_with_opts<'b, 'o>( opts: &'o flatbuffers::VerifierOptions, buf: &'b [u8], ) -> Result<Monster<'b>, flatbuffers::InvalidFlatbuffer>430 pub fn root_as_monster_with_opts<'b, 'o>(
431   opts: &'o flatbuffers::VerifierOptions,
432   buf: &'b [u8],
433 ) -> Result<Monster<'b>, flatbuffers::InvalidFlatbuffer> {
434   flatbuffers::root_with_opts::<Monster<'b>>(opts, buf)
435 }
436 #[inline]
437 /// Verifies, with the given verifier options, that a buffer of
438 /// bytes contains a size prefixed `Monster` and returns
439 /// it. Note that verification is still experimental and may not
440 /// catch every error, or be maximally performant. For the
441 /// previous, unchecked, behavior use
442 /// `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>443 pub fn size_prefixed_root_as_monster_with_opts<'b, 'o>(
444   opts: &'o flatbuffers::VerifierOptions,
445   buf: &'b [u8],
446 ) -> Result<Monster<'b>, flatbuffers::InvalidFlatbuffer> {
447   flatbuffers::size_prefixed_root_with_opts::<Monster<'b>>(opts, buf)
448 }
449 #[inline]
450 /// Assumes, without verification, that a buffer of bytes contains a Monster and returns it.
451 /// # Safety
452 /// Callers must trust the given bytes do indeed contain a valid `Monster`.
root_as_monster_unchecked(buf: &[u8]) -> Monster453 pub unsafe fn root_as_monster_unchecked(buf: &[u8]) -> Monster {
454   flatbuffers::root_unchecked::<Monster>(buf)
455 }
456 #[inline]
457 /// Assumes, without verification, that a buffer of bytes contains a size prefixed Monster and returns it.
458 /// # Safety
459 /// Callers must trust the given bytes do indeed contain a valid size prefixed `Monster`.
size_prefixed_root_as_monster_unchecked(buf: &[u8]) -> Monster460 pub unsafe fn size_prefixed_root_as_monster_unchecked(buf: &[u8]) -> Monster {
461   flatbuffers::size_prefixed_root_unchecked::<Monster>(buf)
462 }
463 #[inline]
finish_monster_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>( fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>, root: flatbuffers::WIPOffset<Monster<'a>>)464 pub fn finish_monster_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>(
465     fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
466     root: flatbuffers::WIPOffset<Monster<'a>>) {
467   fbb.finish(root, None);
468 }
469 
470 #[inline]
finish_size_prefixed_monster_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>(fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>, root: flatbuffers::WIPOffset<Monster<'a>>)471 pub fn finish_size_prefixed_monster_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>(fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>, root: flatbuffers::WIPOffset<Monster<'a>>) {
472   fbb.finish_size_prefixed(root, None);
473 }
474