...

Text file src/github.com/google/flatbuffers/tests/monster_test/table_a_generated.rs

Documentation: github.com/google/flatbuffers/tests/monster_test

     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