...
1// automatically generated by the FlatBuffers compiler, do not modify
2// @generated
3extern crate alloc;
4extern crate flatbuffers;
5use alloc::boxed::Box;
6use alloc::string::{String, ToString};
7use alloc::vec::Vec;
8use core::mem;
9use core::cmp::Ordering;
10use self::flatbuffers::{EndianScalar, Follow};
11use super::*;
12pub enum TableAOffset {}
13#[derive(Copy, Clone, PartialEq)]
14
15pub struct TableA<'a> {
16 pub _tab: flatbuffers::Table<'a>,
17}
18
19impl<'a> flatbuffers::Follow<'a> for TableA<'a> {
20 type Inner = TableA<'a>;
21 #[inline]
22 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
23 Self { _tab: flatbuffers::Table::new(buf, loc) }
24 }
25}
26
27impl<'a> TableA<'a> {
28 pub const VT_B: flatbuffers::VOffsetT = 4;
29
30 pub const fn get_fully_qualified_name() -> &'static str {
31 "TableA"
32 }
33
34 #[inline]
35 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
36 TableA { _tab: table }
37 }
38 #[allow(unused_mut)]
39 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
40 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
41 args: &'args TableAArgs<'args>
42 ) -> flatbuffers::WIPOffset<TableA<'bldr>> {
43 let mut builder = TableABuilder::new(_fbb);
44 if let Some(x) = args.b { builder.add_b(x); }
45 builder.finish()
46 }
47
48 pub fn unpack(&self) -> TableAT {
49 let b = self.b().map(|x| {
50 Box::new(x.unpack())
51 });
52 TableAT {
53 b,
54 }
55 }
56
57 #[inline]
58 pub fn b(&self) -> Option<my_game::other_name_space::TableB<'a>> {
59 // Safety:
60 // Created from valid Table for this object
61 // which contains a valid value in this slot
62 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<my_game::other_name_space::TableB>>(TableA::VT_B, None)}
63 }
64}
65
66impl flatbuffers::Verifiable for TableA<'_> {
67 #[inline]
68 fn run_verifier(
69 v: &mut flatbuffers::Verifier, pos: usize
70 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
71 use self::flatbuffers::Verifiable;
72 v.visit_table(pos)?
73 .visit_field::<flatbuffers::ForwardsUOffset<my_game::other_name_space::TableB>>("b", Self::VT_B, false)?
74 .finish();
75 Ok(())
76 }
77}
78pub struct TableAArgs<'a> {
79 pub b: Option<flatbuffers::WIPOffset<my_game::other_name_space::TableB<'a>>>,
80}
81impl<'a> Default for TableAArgs<'a> {
82 #[inline]
83 fn default() -> Self {
84 TableAArgs {
85 b: None,
86 }
87 }
88}
89
90pub struct TableABuilder<'a: 'b, 'b> {
91 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
92 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
93}
94impl<'a: 'b, 'b> TableABuilder<'a, 'b> {
95 #[inline]
96 pub fn add_b(&mut self, b: flatbuffers::WIPOffset<my_game::other_name_space::TableB<'b >>) {
97 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<my_game::other_name_space::TableB>>(TableA::VT_B, b);
98 }
99 #[inline]
100 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> TableABuilder<'a, 'b> {
101 let start = _fbb.start_table();
102 TableABuilder {
103 fbb_: _fbb,
104 start_: start,
105 }
106 }
107 #[inline]
108 pub fn finish(self) -> flatbuffers::WIPOffset<TableA<'a>> {
109 let o = self.fbb_.end_table(self.start_);
110 flatbuffers::WIPOffset::new(o.value())
111 }
112}
113
114impl core::fmt::Debug for TableA<'_> {
115 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
116 let mut ds = f.debug_struct("TableA");
117 ds.field("b", &self.b());
118 ds.finish()
119 }
120}
121#[non_exhaustive]
122#[derive(Debug, Clone, PartialEq)]
123pub struct TableAT {
124 pub b: Option<Box<my_game::other_name_space::TableBT>>,
125}
126impl Default for TableAT {
127 fn default() -> Self {
128 Self {
129 b: None,
130 }
131 }
132}
133impl TableAT {
134 pub fn pack<'b>(
135 &self,
136 _fbb: &mut flatbuffers::FlatBufferBuilder<'b>
137 ) -> flatbuffers::WIPOffset<TableA<'b>> {
138 let b = self.b.as_ref().map(|x|{
139 x.pack(_fbb)
140 });
141 TableA::create(_fbb, &TableAArgs{
142 b,
143 })
144 }
145}
View as plain text