...

Text file src/github.com/google/flatbuffers/tests/namespace_test/namespace_c/table_in_c_generated.rs

Documentation: github.com/google/flatbuffers/tests/namespace_test/namespace_c

     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 TableInCOffset {}
    13#[derive(Copy, Clone, PartialEq)]
    14
    15pub struct TableInC<'a> {
    16  pub _tab: flatbuffers::Table<'a>,
    17}
    18
    19impl<'a> flatbuffers::Follow<'a> for TableInC<'a> {
    20  type Inner = TableInC<'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> TableInC<'a> {
    28  pub const VT_REFER_TO_A1: flatbuffers::VOffsetT = 4;
    29  pub const VT_REFER_TO_A2: flatbuffers::VOffsetT = 6;
    30
    31  pub const fn get_fully_qualified_name() -> &'static str {
    32    "NamespaceC.TableInC"
    33  }
    34
    35  #[inline]
    36  pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
    37    TableInC { _tab: table }
    38  }
    39  #[allow(unused_mut)]
    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
    50  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]
    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]
    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
    79impl flatbuffers::Verifiable for TableInC<'_> {
    80  #[inline]
    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}
    92pub 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}
    96impl<'a> Default for TableInCArgs<'a> {
    97  #[inline]
    98  fn default() -> Self {
    99    TableInCArgs {
   100      refer_to_a1: None,
   101      refer_to_a2: None,
   102    }
   103  }
   104}
   105
   106pub struct TableInCBuilder<'a: 'b, 'b> {
   107  fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
   108  start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
   109}
   110impl<'a: 'b, 'b> TableInCBuilder<'a, 'b> {
   111  #[inline]
   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]
   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]
   120  pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> TableInCBuilder<'a, 'b> {
   121    let start = _fbb.start_table();
   122    TableInCBuilder {
   123      fbb_: _fbb,
   124      start_: start,
   125    }
   126  }
   127  #[inline]
   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
   134impl core::fmt::Debug for TableInC<'_> {
   135  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)]
   144pub 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}
   148impl Default for TableInCT {
   149  fn default() -> Self {
   150    Self {
   151      refer_to_a1: None,
   152      refer_to_a2: None,
   153    }
   154  }
   155}
   156impl TableInCT {
   157  pub fn pack<'b>(
   158    &self,
   159    _fbb: &mut flatbuffers::FlatBufferBuilder<'b>
   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}

View as plain text