xref: /aosp_15_r20/external/flatbuffers/tests/monster_test_serialize/table_a_generated.rs (revision 890232f25432b36107d06881e0a25aaa6b473652)
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 TableAOffset {}
15 #[derive(Copy, Clone, PartialEq)]
16 
17 pub struct TableA<'a> {
18   pub _tab: flatbuffers::Table<'a>,
19 }
20 
21 impl<'a> flatbuffers::Follow<'a> for TableA<'a> {
22   type Inner = TableA<'a>;
23   #[inline]
follow(buf: &'a [u8], loc: usize) -> Self::Inner24   fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
25     Self { _tab: flatbuffers::Table { buf, loc } }
26   }
27 }
28 
29 impl<'a> TableA<'a> {
30   pub const VT_B: flatbuffers::VOffsetT = 4;
31 
get_fully_qualified_name() -> &'static str32   pub const fn get_fully_qualified_name() -> &'static str {
33     "TableA"
34   }
35 
36   #[inline]
init_from_table(table: flatbuffers::Table<'a>) -> Self37   pub fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
38     TableA { _tab: table }
39   }
40   #[allow(unused_mut)]
create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>( _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>, args: &'args TableAArgs<'args> ) -> flatbuffers::WIPOffset<TableA<'bldr>>41   pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
42     _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
43     args: &'args TableAArgs<'args>
44   ) -> flatbuffers::WIPOffset<TableA<'bldr>> {
45     let mut builder = TableABuilder::new(_fbb);
46     if let Some(x) = args.b { builder.add_b(x); }
47     builder.finish()
48   }
49 
unpack(&self) -> TableAT50   pub fn unpack(&self) -> TableAT {
51     let b = self.b().map(|x| {
52       Box::new(x.unpack())
53     });
54     TableAT {
55       b,
56     }
57   }
58 
59   #[inline]
b(&self) -> Option<my_game::other_name_space::TableB<'a>>60   pub fn b(&self) -> Option<my_game::other_name_space::TableB<'a>> {
61     self._tab.get::<flatbuffers::ForwardsUOffset<my_game::other_name_space::TableB>>(TableA::VT_B, None)
62   }
63 }
64 
65 impl flatbuffers::Verifiable for TableA<'_> {
66   #[inline]
run_verifier( v: &mut flatbuffers::Verifier, pos: usize ) -> Result<(), flatbuffers::InvalidFlatbuffer>67   fn run_verifier(
68     v: &mut flatbuffers::Verifier, pos: usize
69   ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
70     use self::flatbuffers::Verifiable;
71     v.visit_table(pos)?
72      .visit_field::<flatbuffers::ForwardsUOffset<my_game::other_name_space::TableB>>("b", Self::VT_B, false)?
73      .finish();
74     Ok(())
75   }
76 }
77 pub struct TableAArgs<'a> {
78     pub b: Option<flatbuffers::WIPOffset<my_game::other_name_space::TableB<'a>>>,
79 }
80 impl<'a> Default for TableAArgs<'a> {
81   #[inline]
default() -> Self82   fn default() -> Self {
83     TableAArgs {
84       b: None,
85     }
86   }
87 }
88 
89 impl Serialize for TableA<'_> {
serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where S: Serializer,90   fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
91   where
92     S: Serializer,
93   {
94     let mut s = serializer.serialize_struct("TableA", 1)?;
95       if let Some(f) = self.b() {
96         s.serialize_field("b", &f)?;
97       } else {
98         s.skip_field("b")?;
99       }
100     s.end()
101   }
102 }
103 
104 pub struct TableABuilder<'a: 'b, 'b> {
105   fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
106   start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
107 }
108 impl<'a: 'b, 'b> TableABuilder<'a, 'b> {
109   #[inline]
add_b(&mut self, b: flatbuffers::WIPOffset<my_game::other_name_space::TableB<'b >>)110   pub fn add_b(&mut self, b: flatbuffers::WIPOffset<my_game::other_name_space::TableB<'b >>) {
111     self.fbb_.push_slot_always::<flatbuffers::WIPOffset<my_game::other_name_space::TableB>>(TableA::VT_B, b);
112   }
113   #[inline]
new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> TableABuilder<'a, 'b>114   pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> TableABuilder<'a, 'b> {
115     let start = _fbb.start_table();
116     TableABuilder {
117       fbb_: _fbb,
118       start_: start,
119     }
120   }
121   #[inline]
finish(self) -> flatbuffers::WIPOffset<TableA<'a>>122   pub fn finish(self) -> flatbuffers::WIPOffset<TableA<'a>> {
123     let o = self.fbb_.end_table(self.start_);
124     flatbuffers::WIPOffset::new(o.value())
125   }
126 }
127 
128 impl core::fmt::Debug for TableA<'_> {
fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result129   fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
130     let mut ds = f.debug_struct("TableA");
131       ds.field("b", &self.b());
132       ds.finish()
133   }
134 }
135 #[non_exhaustive]
136 #[derive(Debug, Clone, PartialEq)]
137 pub struct TableAT {
138   pub b: Option<Box<my_game::other_name_space::TableBT>>,
139 }
140 impl Default for TableAT {
default() -> Self141   fn default() -> Self {
142     Self {
143       b: None,
144     }
145   }
146 }
147 impl TableAT {
pack<'b>( &self, _fbb: &mut flatbuffers::FlatBufferBuilder<'b> ) -> flatbuffers::WIPOffset<TableA<'b>>148   pub fn pack<'b>(
149     &self,
150     _fbb: &mut flatbuffers::FlatBufferBuilder<'b>
151   ) -> flatbuffers::WIPOffset<TableA<'b>> {
152     let b = self.b.as_ref().map(|x|{
153       x.pack(_fbb)
154     });
155     TableA::create(_fbb, &TableAArgs{
156       b,
157     })
158   }
159 }
160