...
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 ReferrableOffset {}
13#[derive(Copy, Clone, PartialEq)]
14
15pub struct Referrable<'a> {
16 pub _tab: flatbuffers::Table<'a>,
17}
18
19impl<'a> flatbuffers::Follow<'a> for Referrable<'a> {
20 type Inner = Referrable<'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> Referrable<'a> {
28 pub const VT_ID: flatbuffers::VOffsetT = 4;
29
30 pub const fn get_fully_qualified_name() -> &'static str {
31 "MyGame.Example.Referrable"
32 }
33
34 #[inline]
35 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
36 Referrable { _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 ReferrableArgs
42 ) -> flatbuffers::WIPOffset<Referrable<'bldr>> {
43 let mut builder = ReferrableBuilder::new(_fbb);
44 builder.add_id(args.id);
45 builder.finish()
46 }
47
48 pub fn unpack(&self) -> ReferrableT {
49 let id = self.id();
50 ReferrableT {
51 id,
52 }
53 }
54
55 #[inline]
56 pub fn id(&self) -> u64 {
57 // Safety:
58 // Created from valid Table for this object
59 // which contains a valid value in this slot
60 unsafe { self._tab.get::<u64>(Referrable::VT_ID, Some(0)).unwrap()}
61 }
62 #[inline]
63 pub fn key_compare_less_than(&self, o: &Referrable) -> bool {
64 self.id() < o.id()
65 }
66
67 #[inline]
68 pub fn key_compare_with_value(&self, val: u64) -> ::core::cmp::Ordering {
69 let key = self.id();
70 key.cmp(&val)
71 }
72}
73
74impl flatbuffers::Verifiable for Referrable<'_> {
75 #[inline]
76 fn run_verifier(
77 v: &mut flatbuffers::Verifier, pos: usize
78 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
79 use self::flatbuffers::Verifiable;
80 v.visit_table(pos)?
81 .visit_field::<u64>("id", Self::VT_ID, false)?
82 .finish();
83 Ok(())
84 }
85}
86pub struct ReferrableArgs {
87 pub id: u64,
88}
89impl<'a> Default for ReferrableArgs {
90 #[inline]
91 fn default() -> Self {
92 ReferrableArgs {
93 id: 0,
94 }
95 }
96}
97
98pub struct ReferrableBuilder<'a: 'b, 'b> {
99 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
100 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
101}
102impl<'a: 'b, 'b> ReferrableBuilder<'a, 'b> {
103 #[inline]
104 pub fn add_id(&mut self, id: u64) {
105 self.fbb_.push_slot::<u64>(Referrable::VT_ID, id, 0);
106 }
107 #[inline]
108 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ReferrableBuilder<'a, 'b> {
109 let start = _fbb.start_table();
110 ReferrableBuilder {
111 fbb_: _fbb,
112 start_: start,
113 }
114 }
115 #[inline]
116 pub fn finish(self) -> flatbuffers::WIPOffset<Referrable<'a>> {
117 let o = self.fbb_.end_table(self.start_);
118 flatbuffers::WIPOffset::new(o.value())
119 }
120}
121
122impl core::fmt::Debug for Referrable<'_> {
123 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
124 let mut ds = f.debug_struct("Referrable");
125 ds.field("id", &self.id());
126 ds.finish()
127 }
128}
129#[non_exhaustive]
130#[derive(Debug, Clone, PartialEq)]
131pub struct ReferrableT {
132 pub id: u64,
133}
134impl Default for ReferrableT {
135 fn default() -> Self {
136 Self {
137 id: 0,
138 }
139 }
140}
141impl ReferrableT {
142 pub fn pack<'b>(
143 &self,
144 _fbb: &mut flatbuffers::FlatBufferBuilder<'b>
145 ) -> flatbuffers::WIPOffset<Referrable<'b>> {
146 let id = self.id;
147 Referrable::create(_fbb, &ReferrableArgs{
148 id,
149 })
150 }
151}
View as plain text