mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-05 04:58:57 +00:00
* Refactored Rust Generated code into a module directory. Each symbol will be generated into one file and then imported into a module. This breaks the "out_dir" pattern where some users would generate code in their target/ directory. Also, these objects are best used in their own module. It will be hard for users to share their own module structure with flatbuffers namespaces. There may be solutions to these drawbacks but that should be discussed. I don't want to overengineer here. * shadow error * try fix .bat file * fix .bat 2 * Restore accidentally deleted files * Fixed some DONOTSUBMITs and made Rust outdir pattern use symlinks. * fixed binary files * git clang format * make generated onefiles not public and fix .bat * reduced diff with master in generate_code.sh * fix shadowed variable * add object api flags to .bat * space * Removed extern crate and extra & * use statement * more clippy lints * format * Undo extern crate -> use change, it actually matters to our tests Co-authored-by: Casper Neo <cneo@google.com>
267 lines
8.9 KiB
Rust
267 lines
8.9 KiB
Rust
// automatically generated by the FlatBuffers compiler, do not modify
|
|
extern crate flatbuffers;
|
|
use std::mem;
|
|
use std::cmp::Ordering;
|
|
use self::flatbuffers::{EndianScalar, Follow};
|
|
use super::*;
|
|
pub enum MoreDefaultsOffset {}
|
|
#[derive(Copy, Clone, PartialEq)]
|
|
|
|
pub struct MoreDefaults<'a> {
|
|
pub _tab: flatbuffers::Table<'a>,
|
|
}
|
|
|
|
impl<'a> flatbuffers::Follow<'a> for MoreDefaults<'a> {
|
|
type Inner = MoreDefaults<'a>;
|
|
#[inline]
|
|
fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
|
|
Self { _tab: flatbuffers::Table { buf, loc } }
|
|
}
|
|
}
|
|
|
|
impl<'a> MoreDefaults<'a> {
|
|
pub const fn get_fully_qualified_name() -> &'static str {
|
|
"MoreDefaults"
|
|
}
|
|
|
|
#[inline]
|
|
pub fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
|
|
MoreDefaults { _tab: table }
|
|
}
|
|
#[allow(unused_mut)]
|
|
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
|
|
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
|
|
args: &'args MoreDefaultsArgs<'args>) -> flatbuffers::WIPOffset<MoreDefaults<'bldr>> {
|
|
let mut builder = MoreDefaultsBuilder::new(_fbb);
|
|
if let Some(x) = args.bools { builder.add_bools(x); }
|
|
if let Some(x) = args.abcs { builder.add_abcs(x); }
|
|
if let Some(x) = args.some_string { builder.add_some_string(x); }
|
|
if let Some(x) = args.empty_string { builder.add_empty_string(x); }
|
|
if let Some(x) = args.floats { builder.add_floats(x); }
|
|
if let Some(x) = args.ints { builder.add_ints(x); }
|
|
builder.finish()
|
|
}
|
|
|
|
pub fn unpack(&self) -> MoreDefaultsT {
|
|
let ints = {
|
|
let x = self.ints();
|
|
x.into_iter().collect()
|
|
};
|
|
let floats = {
|
|
let x = self.floats();
|
|
x.into_iter().collect()
|
|
};
|
|
let empty_string = {
|
|
let x = self.empty_string();
|
|
x.to_string()
|
|
};
|
|
let some_string = {
|
|
let x = self.some_string();
|
|
x.to_string()
|
|
};
|
|
let abcs = {
|
|
let x = self.abcs();
|
|
x.into_iter().collect()
|
|
};
|
|
let bools = {
|
|
let x = self.bools();
|
|
x.to_vec()
|
|
};
|
|
MoreDefaultsT {
|
|
ints,
|
|
floats,
|
|
empty_string,
|
|
some_string,
|
|
abcs,
|
|
bools,
|
|
}
|
|
}
|
|
pub const VT_INTS: flatbuffers::VOffsetT = 4;
|
|
pub const VT_FLOATS: flatbuffers::VOffsetT = 6;
|
|
pub const VT_EMPTY_STRING: flatbuffers::VOffsetT = 8;
|
|
pub const VT_SOME_STRING: flatbuffers::VOffsetT = 10;
|
|
pub const VT_ABCS: flatbuffers::VOffsetT = 12;
|
|
pub const VT_BOOLS: flatbuffers::VOffsetT = 14;
|
|
|
|
#[inline]
|
|
pub fn ints(&self) -> flatbuffers::Vector<'a, i32> {
|
|
self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(MoreDefaults::VT_INTS, Some(Default::default())).unwrap()
|
|
}
|
|
#[inline]
|
|
pub fn floats(&self) -> flatbuffers::Vector<'a, f32> {
|
|
self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f32>>>(MoreDefaults::VT_FLOATS, Some(Default::default())).unwrap()
|
|
}
|
|
#[inline]
|
|
pub fn empty_string(&self) -> &'a str {
|
|
self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(MoreDefaults::VT_EMPTY_STRING, Some(&"")).unwrap()
|
|
}
|
|
#[inline]
|
|
pub fn some_string(&self) -> &'a str {
|
|
self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(MoreDefaults::VT_SOME_STRING, Some(&"some")).unwrap()
|
|
}
|
|
#[inline]
|
|
pub fn abcs(&self) -> flatbuffers::Vector<'a, ABC> {
|
|
self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, ABC>>>(MoreDefaults::VT_ABCS, Some(Default::default())).unwrap()
|
|
}
|
|
#[inline]
|
|
pub fn bools(&self) -> &'a [bool] {
|
|
self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, bool>>>(MoreDefaults::VT_BOOLS, Some(Default::default())).map(|v| v.safe_slice()).unwrap()
|
|
}
|
|
}
|
|
|
|
impl flatbuffers::Verifiable for MoreDefaults<'_> {
|
|
#[inline]
|
|
fn run_verifier(
|
|
v: &mut flatbuffers::Verifier, pos: usize
|
|
) -> Result<(), flatbuffers::InvalidFlatbuffer> {
|
|
use self::flatbuffers::Verifiable;
|
|
v.visit_table(pos)?
|
|
.visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("ints", Self::VT_INTS, false)?
|
|
.visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f32>>>("floats", Self::VT_FLOATS, false)?
|
|
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("empty_string", Self::VT_EMPTY_STRING, false)?
|
|
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("some_string", Self::VT_SOME_STRING, false)?
|
|
.visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, ABC>>>("abcs", Self::VT_ABCS, false)?
|
|
.visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, bool>>>("bools", Self::VT_BOOLS, false)?
|
|
.finish();
|
|
Ok(())
|
|
}
|
|
}
|
|
pub struct MoreDefaultsArgs<'a> {
|
|
pub ints: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
|
|
pub floats: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f32>>>,
|
|
pub empty_string: Option<flatbuffers::WIPOffset<&'a str>>,
|
|
pub some_string: Option<flatbuffers::WIPOffset<&'a str>>,
|
|
pub abcs: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, ABC>>>,
|
|
pub bools: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, bool>>>,
|
|
}
|
|
impl<'a> Default for MoreDefaultsArgs<'a> {
|
|
#[inline]
|
|
fn default() -> Self {
|
|
MoreDefaultsArgs {
|
|
ints: None,
|
|
floats: None,
|
|
empty_string: None,
|
|
some_string: None,
|
|
abcs: None,
|
|
bools: None,
|
|
}
|
|
}
|
|
}
|
|
pub struct MoreDefaultsBuilder<'a: 'b, 'b> {
|
|
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
|
|
start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
|
|
}
|
|
impl<'a: 'b, 'b> MoreDefaultsBuilder<'a, 'b> {
|
|
#[inline]
|
|
pub fn add_ints(&mut self, ints: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
|
|
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(MoreDefaults::VT_INTS, ints);
|
|
}
|
|
#[inline]
|
|
pub fn add_floats(&mut self, floats: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f32>>) {
|
|
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(MoreDefaults::VT_FLOATS, floats);
|
|
}
|
|
#[inline]
|
|
pub fn add_empty_string(&mut self, empty_string: flatbuffers::WIPOffset<&'b str>) {
|
|
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(MoreDefaults::VT_EMPTY_STRING, empty_string);
|
|
}
|
|
#[inline]
|
|
pub fn add_some_string(&mut self, some_string: flatbuffers::WIPOffset<&'b str>) {
|
|
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(MoreDefaults::VT_SOME_STRING, some_string);
|
|
}
|
|
#[inline]
|
|
pub fn add_abcs(&mut self, abcs: flatbuffers::WIPOffset<flatbuffers::Vector<'b , ABC>>) {
|
|
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(MoreDefaults::VT_ABCS, abcs);
|
|
}
|
|
#[inline]
|
|
pub fn add_bools(&mut self, bools: flatbuffers::WIPOffset<flatbuffers::Vector<'b , bool>>) {
|
|
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(MoreDefaults::VT_BOOLS, bools);
|
|
}
|
|
#[inline]
|
|
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> MoreDefaultsBuilder<'a, 'b> {
|
|
let start = _fbb.start_table();
|
|
MoreDefaultsBuilder {
|
|
fbb_: _fbb,
|
|
start_: start,
|
|
}
|
|
}
|
|
#[inline]
|
|
pub fn finish(self) -> flatbuffers::WIPOffset<MoreDefaults<'a>> {
|
|
let o = self.fbb_.end_table(self.start_);
|
|
flatbuffers::WIPOffset::new(o.value())
|
|
}
|
|
}
|
|
|
|
impl std::fmt::Debug for MoreDefaults<'_> {
|
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
|
let mut ds = f.debug_struct("MoreDefaults");
|
|
ds.field("ints", &self.ints());
|
|
ds.field("floats", &self.floats());
|
|
ds.field("empty_string", &self.empty_string());
|
|
ds.field("some_string", &self.some_string());
|
|
ds.field("abcs", &self.abcs());
|
|
ds.field("bools", &self.bools());
|
|
ds.finish()
|
|
}
|
|
}
|
|
#[non_exhaustive]
|
|
#[derive(Debug, Clone, PartialEq)]
|
|
pub struct MoreDefaultsT {
|
|
pub ints: Vec<i32>,
|
|
pub floats: Vec<f32>,
|
|
pub empty_string: String,
|
|
pub some_string: String,
|
|
pub abcs: Vec<ABC>,
|
|
pub bools: Vec<bool>,
|
|
}
|
|
impl Default for MoreDefaultsT {
|
|
fn default() -> Self {
|
|
Self {
|
|
ints: Default::default(),
|
|
floats: Default::default(),
|
|
empty_string: "".to_string(),
|
|
some_string: "some".to_string(),
|
|
abcs: Default::default(),
|
|
bools: Default::default(),
|
|
}
|
|
}
|
|
}
|
|
impl MoreDefaultsT {
|
|
pub fn pack<'b>(
|
|
&self,
|
|
_fbb: &mut flatbuffers::FlatBufferBuilder<'b>
|
|
) -> flatbuffers::WIPOffset<MoreDefaults<'b>> {
|
|
let ints = Some({
|
|
let x = &self.ints;
|
|
_fbb.create_vector(x)
|
|
});
|
|
let floats = Some({
|
|
let x = &self.floats;
|
|
_fbb.create_vector(x)
|
|
});
|
|
let empty_string = Some({
|
|
let x = &self.empty_string;
|
|
_fbb.create_string(x)
|
|
});
|
|
let some_string = Some({
|
|
let x = &self.some_string;
|
|
_fbb.create_string(x)
|
|
});
|
|
let abcs = Some({
|
|
let x = &self.abcs;
|
|
_fbb.create_vector(x)
|
|
});
|
|
let bools = Some({
|
|
let x = &self.bools;
|
|
_fbb.create_vector(x)
|
|
});
|
|
MoreDefaults::create(_fbb, &MoreDefaultsArgs{
|
|
ints,
|
|
floats,
|
|
empty_string,
|
|
some_string,
|
|
abcs,
|
|
bools,
|
|
})
|
|
}
|
|
}
|