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 TableInCOffset {} 13 #[derive(Copy, Clone, PartialEq)] 14 15 pub struct TableInC<'a> { 16 pub _tab: flatbuffers::Table<'a>, 17 } 18 19 impl<'a> flatbuffers::Follow<'a> for TableInC<'a> { 20 type Inner = TableInC<'a>; 21 #[inline] follow(buf: &'a [u8], loc: usize) -> Self::Inner22 fn follow(buf: &'a [u8], loc: usize) -> Self::Inner { 23 Self { _tab: flatbuffers::Table { buf, loc } } 24 } 25 } 26 27 impl<'a> TableInC<'a> { 28 pub const VT_REFER_TO_A1: flatbuffers::VOffsetT = 4; 29 pub const VT_REFER_TO_A2: flatbuffers::VOffsetT = 6; 30 get_fully_qualified_name() -> &'static str31 pub const fn get_fully_qualified_name() -> &'static str { 32 "NamespaceC.TableInC" 33 } 34 35 #[inline] init_from_table(table: flatbuffers::Table<'a>) -> Self36 pub fn init_from_table(table: flatbuffers::Table<'a>) -> Self { 37 TableInC { _tab: table } 38 } 39 #[allow(unused_mut)] create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>( _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>, args: &'args TableInCArgs<'args> ) -> flatbuffers::WIPOffset<TableInC<'bldr>>40 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>( 41 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>, 42 args: &'args TableInCArgs<'args> 43 ) -> flatbuffers::WIPOffset<TableInC<'bldr>> { 44 let mut builder = TableInCBuilder::new(_fbb); 45 if let Some(x) = args.refer_to_a2 { builder.add_refer_to_a2(x); } 46 if let Some(x) = args.refer_to_a1 { builder.add_refer_to_a1(x); } 47 builder.finish() 48 } 49 unpack(&self) -> TableInCT50 pub fn unpack(&self) -> TableInCT { 51 let refer_to_a1 = self.refer_to_a1().map(|x| { 52 Box::new(x.unpack()) 53 }); 54 let refer_to_a2 = self.refer_to_a2().map(|x| { 55 Box::new(x.unpack()) 56 }); 57 TableInCT { 58 refer_to_a1, 59 refer_to_a2, 60 } 61 } 62 63 #[inline] refer_to_a1(&self) -> Option<super::namespace_a::TableInFirstNS<'a>>64 pub fn refer_to_a1(&self) -> Option<super::namespace_a::TableInFirstNS<'a>> { 65 self._tab.get::<flatbuffers::ForwardsUOffset<super::namespace_a::TableInFirstNS>>(TableInC::VT_REFER_TO_A1, None) 66 } 67 #[inline] refer_to_a2(&self) -> Option<super::namespace_a::SecondTableInA<'a>>68 pub fn refer_to_a2(&self) -> Option<super::namespace_a::SecondTableInA<'a>> { 69 self._tab.get::<flatbuffers::ForwardsUOffset<super::namespace_a::SecondTableInA>>(TableInC::VT_REFER_TO_A2, None) 70 } 71 } 72 73 impl flatbuffers::Verifiable for TableInC<'_> { 74 #[inline] run_verifier( v: &mut flatbuffers::Verifier, pos: usize ) -> Result<(), flatbuffers::InvalidFlatbuffer>75 fn run_verifier( 76 v: &mut flatbuffers::Verifier, pos: usize 77 ) -> Result<(), flatbuffers::InvalidFlatbuffer> { 78 use self::flatbuffers::Verifiable; 79 v.visit_table(pos)? 80 .visit_field::<flatbuffers::ForwardsUOffset<super::namespace_a::TableInFirstNS>>("refer_to_a1", Self::VT_REFER_TO_A1, false)? 81 .visit_field::<flatbuffers::ForwardsUOffset<super::namespace_a::SecondTableInA>>("refer_to_a2", Self::VT_REFER_TO_A2, false)? 82 .finish(); 83 Ok(()) 84 } 85 } 86 pub struct TableInCArgs<'a> { 87 pub refer_to_a1: Option<flatbuffers::WIPOffset<super::namespace_a::TableInFirstNS<'a>>>, 88 pub refer_to_a2: Option<flatbuffers::WIPOffset<super::namespace_a::SecondTableInA<'a>>>, 89 } 90 impl<'a> Default for TableInCArgs<'a> { 91 #[inline] default() -> Self92 fn default() -> Self { 93 TableInCArgs { 94 refer_to_a1: None, 95 refer_to_a2: None, 96 } 97 } 98 } 99 100 pub struct TableInCBuilder<'a: 'b, 'b> { 101 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>, 102 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>, 103 } 104 impl<'a: 'b, 'b> TableInCBuilder<'a, 'b> { 105 #[inline] add_refer_to_a1(&mut self, refer_to_a1: flatbuffers::WIPOffset<super::namespace_a::TableInFirstNS<'b >>)106 pub fn add_refer_to_a1(&mut self, refer_to_a1: flatbuffers::WIPOffset<super::namespace_a::TableInFirstNS<'b >>) { 107 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<super::namespace_a::TableInFirstNS>>(TableInC::VT_REFER_TO_A1, refer_to_a1); 108 } 109 #[inline] add_refer_to_a2(&mut self, refer_to_a2: flatbuffers::WIPOffset<super::namespace_a::SecondTableInA<'b >>)110 pub fn add_refer_to_a2(&mut self, refer_to_a2: flatbuffers::WIPOffset<super::namespace_a::SecondTableInA<'b >>) { 111 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<super::namespace_a::SecondTableInA>>(TableInC::VT_REFER_TO_A2, refer_to_a2); 112 } 113 #[inline] new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> TableInCBuilder<'a, 'b>114 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> TableInCBuilder<'a, 'b> { 115 let start = _fbb.start_table(); 116 TableInCBuilder { 117 fbb_: _fbb, 118 start_: start, 119 } 120 } 121 #[inline] finish(self) -> flatbuffers::WIPOffset<TableInC<'a>>122 pub fn finish(self) -> flatbuffers::WIPOffset<TableInC<'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 TableInC<'_> { 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("TableInC"); 131 ds.field("refer_to_a1", &self.refer_to_a1()); 132 ds.field("refer_to_a2", &self.refer_to_a2()); 133 ds.finish() 134 } 135 } 136 #[non_exhaustive] 137 #[derive(Debug, Clone, PartialEq)] 138 pub struct TableInCT { 139 pub refer_to_a1: Option<Box<super::namespace_a::TableInFirstNST>>, 140 pub refer_to_a2: Option<Box<super::namespace_a::SecondTableInAT>>, 141 } 142 impl Default for TableInCT { default() -> Self143 fn default() -> Self { 144 Self { 145 refer_to_a1: None, 146 refer_to_a2: None, 147 } 148 } 149 } 150 impl TableInCT { pack<'b>( &self, _fbb: &mut flatbuffers::FlatBufferBuilder<'b> ) -> flatbuffers::WIPOffset<TableInC<'b>>151 pub fn pack<'b>( 152 &self, 153 _fbb: &mut flatbuffers::FlatBufferBuilder<'b> 154 ) -> flatbuffers::WIPOffset<TableInC<'b>> { 155 let refer_to_a1 = self.refer_to_a1.as_ref().map(|x|{ 156 x.pack(_fbb) 157 }); 158 let refer_to_a2 = self.refer_to_a2.as_ref().map(|x|{ 159 x.pack(_fbb) 160 }); 161 TableInC::create(_fbb, &TableInCArgs{ 162 refer_to_a1, 163 refer_to_a2, 164 }) 165 } 166 } 167