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 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner { 23 Self { _tab: flatbuffers::Table::new(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 unsafe 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, A: flatbuffers::Allocator + 'bldr>( _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>, args: &'args TableInCArgs<'args> ) -> flatbuffers::WIPOffset<TableInC<'bldr>>40 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>( 41 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>, 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 // Safety: 66 // Created from valid Table for this object 67 // which contains a valid value in this slot 68 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<super::namespace_a::TableInFirstNS>>(TableInC::VT_REFER_TO_A1, None)} 69 } 70 #[inline] refer_to_a2(&self) -> Option<super::namespace_a::SecondTableInA<'a>>71 pub fn refer_to_a2(&self) -> Option<super::namespace_a::SecondTableInA<'a>> { 72 // Safety: 73 // Created from valid Table for this object 74 // which contains a valid value in this slot 75 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<super::namespace_a::SecondTableInA>>(TableInC::VT_REFER_TO_A2, None)} 76 } 77 } 78 79 impl flatbuffers::Verifiable for TableInC<'_> { 80 #[inline] run_verifier( v: &mut flatbuffers::Verifier, pos: usize ) -> Result<(), flatbuffers::InvalidFlatbuffer>81 fn run_verifier( 82 v: &mut flatbuffers::Verifier, pos: usize 83 ) -> Result<(), flatbuffers::InvalidFlatbuffer> { 84 use self::flatbuffers::Verifiable; 85 v.visit_table(pos)? 86 .visit_field::<flatbuffers::ForwardsUOffset<super::namespace_a::TableInFirstNS>>("refer_to_a1", Self::VT_REFER_TO_A1, false)? 87 .visit_field::<flatbuffers::ForwardsUOffset<super::namespace_a::SecondTableInA>>("refer_to_a2", Self::VT_REFER_TO_A2, false)? 88 .finish(); 89 Ok(()) 90 } 91 } 92 pub struct TableInCArgs<'a> { 93 pub refer_to_a1: Option<flatbuffers::WIPOffset<super::namespace_a::TableInFirstNS<'a>>>, 94 pub refer_to_a2: Option<flatbuffers::WIPOffset<super::namespace_a::SecondTableInA<'a>>>, 95 } 96 impl<'a> Default for TableInCArgs<'a> { 97 #[inline] default() -> Self98 fn default() -> Self { 99 TableInCArgs { 100 refer_to_a1: None, 101 refer_to_a2: None, 102 } 103 } 104 } 105 106 pub struct TableInCBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> { 107 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>, 108 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>, 109 } 110 impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> TableInCBuilder<'a, 'b, A> { 111 #[inline] add_refer_to_a1(&mut self, refer_to_a1: flatbuffers::WIPOffset<super::namespace_a::TableInFirstNS<'b >>)112 pub fn add_refer_to_a1(&mut self, refer_to_a1: flatbuffers::WIPOffset<super::namespace_a::TableInFirstNS<'b >>) { 113 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<super::namespace_a::TableInFirstNS>>(TableInC::VT_REFER_TO_A1, refer_to_a1); 114 } 115 #[inline] add_refer_to_a2(&mut self, refer_to_a2: flatbuffers::WIPOffset<super::namespace_a::SecondTableInA<'b >>)116 pub fn add_refer_to_a2(&mut self, refer_to_a2: flatbuffers::WIPOffset<super::namespace_a::SecondTableInA<'b >>) { 117 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<super::namespace_a::SecondTableInA>>(TableInC::VT_REFER_TO_A2, refer_to_a2); 118 } 119 #[inline] new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> TableInCBuilder<'a, 'b, A>120 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> TableInCBuilder<'a, 'b, A> { 121 let start = _fbb.start_table(); 122 TableInCBuilder { 123 fbb_: _fbb, 124 start_: start, 125 } 126 } 127 #[inline] finish(self) -> flatbuffers::WIPOffset<TableInC<'a>>128 pub fn finish(self) -> flatbuffers::WIPOffset<TableInC<'a>> { 129 let o = self.fbb_.end_table(self.start_); 130 flatbuffers::WIPOffset::new(o.value()) 131 } 132 } 133 134 impl core::fmt::Debug for TableInC<'_> { fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result135 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { 136 let mut ds = f.debug_struct("TableInC"); 137 ds.field("refer_to_a1", &self.refer_to_a1()); 138 ds.field("refer_to_a2", &self.refer_to_a2()); 139 ds.finish() 140 } 141 } 142 #[non_exhaustive] 143 #[derive(Debug, Clone, PartialEq)] 144 pub struct TableInCT { 145 pub refer_to_a1: Option<Box<super::namespace_a::TableInFirstNST>>, 146 pub refer_to_a2: Option<Box<super::namespace_a::SecondTableInAT>>, 147 } 148 impl Default for TableInCT { default() -> Self149 fn default() -> Self { 150 Self { 151 refer_to_a1: None, 152 refer_to_a2: None, 153 } 154 } 155 } 156 impl TableInCT { pack<'b, A: flatbuffers::Allocator + 'b>( &self, _fbb: &mut flatbuffers::FlatBufferBuilder<'b, A> ) -> flatbuffers::WIPOffset<TableInC<'b>>157 pub fn pack<'b, A: flatbuffers::Allocator + 'b>( 158 &self, 159 _fbb: &mut flatbuffers::FlatBufferBuilder<'b, A> 160 ) -> flatbuffers::WIPOffset<TableInC<'b>> { 161 let refer_to_a1 = self.refer_to_a1.as_ref().map(|x|{ 162 x.pack(_fbb) 163 }); 164 let refer_to_a2 = self.refer_to_a2.as_ref().map(|x|{ 165 x.pack(_fbb) 166 }); 167 TableInC::create(_fbb, &TableInCArgs{ 168 refer_to_a1, 169 refer_to_a2, 170 }) 171 } 172 } 173