mirror of
https://github.com/google/flatbuffers.git
synced 2026-07-02 01:33:58 +00:00
[Rust] Add the Allocator trait for the builder API (#8106)
* Add an Allocator trait for FlatBufferBuilder * Update rust generated code
This commit is contained in:
@@ -35,8 +35,8 @@ impl<'a> FieldTable<'a> {
|
||||
FieldTable { _tab: table }
|
||||
}
|
||||
#[allow(unused_mut)]
|
||||
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
|
||||
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
|
||||
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
|
||||
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
|
||||
_args: &'args FieldTableArgs
|
||||
) -> flatbuffers::WIPOffset<FieldTable<'bldr>> {
|
||||
let mut builder = FieldTableBuilder::new(_fbb);
|
||||
@@ -70,13 +70,13 @@ impl<'a> Default for FieldTableArgs {
|
||||
}
|
||||
}
|
||||
|
||||
pub struct FieldTableBuilder<'a: 'b, 'b> {
|
||||
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
|
||||
pub struct FieldTableBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
|
||||
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
|
||||
start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
|
||||
}
|
||||
impl<'a: 'b, 'b> FieldTableBuilder<'a, 'b> {
|
||||
impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> FieldTableBuilder<'a, 'b, A> {
|
||||
#[inline]
|
||||
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> FieldTableBuilder<'a, 'b> {
|
||||
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> FieldTableBuilder<'a, 'b, A> {
|
||||
let start = _fbb.start_table();
|
||||
FieldTableBuilder {
|
||||
fbb_: _fbb,
|
||||
@@ -107,9 +107,9 @@ impl Default for FieldTableT {
|
||||
}
|
||||
}
|
||||
impl FieldTableT {
|
||||
pub fn pack<'b>(
|
||||
pub fn pack<'b, A: flatbuffers::Allocator + 'b>(
|
||||
&self,
|
||||
_fbb: &mut flatbuffers::FlatBufferBuilder<'b>
|
||||
_fbb: &mut flatbuffers::FlatBufferBuilder<'b, A>
|
||||
) -> flatbuffers::WIPOffset<FieldTable<'b>> {
|
||||
FieldTable::create(_fbb, &FieldTableArgs{
|
||||
})
|
||||
|
||||
@@ -115,7 +115,7 @@ impl FieldUnionT {
|
||||
Self::F(_) => FieldUnion::f,
|
||||
}
|
||||
}
|
||||
pub fn pack(&self, fbb: &mut flatbuffers::FlatBufferBuilder) -> Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>> {
|
||||
pub fn pack<'b, A: flatbuffers::Allocator + 'b>(&self, fbb: &mut flatbuffers::FlatBufferBuilder<'b, A>) -> Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>> {
|
||||
match self {
|
||||
Self::NONE => None,
|
||||
Self::F(v) => Some(v.pack(fbb).as_union_value()),
|
||||
|
||||
@@ -127,7 +127,7 @@ impl GameMessageT {
|
||||
Self::PlayerInputChange(_) => GameMessage::PlayerInputChange,
|
||||
}
|
||||
}
|
||||
pub fn pack(&self, fbb: &mut flatbuffers::FlatBufferBuilder) -> Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>> {
|
||||
pub fn pack<'b, A: flatbuffers::Allocator + 'b>(&self, fbb: &mut flatbuffers::FlatBufferBuilder<'b, A>) -> Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>> {
|
||||
match self {
|
||||
Self::NONE => None,
|
||||
Self::PlayerStatEvent(v) => Some(v.pack(fbb).as_union_value()),
|
||||
|
||||
@@ -37,8 +37,8 @@ impl<'a> GameMessageWrapper<'a> {
|
||||
GameMessageWrapper { _tab: table }
|
||||
}
|
||||
#[allow(unused_mut)]
|
||||
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
|
||||
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
|
||||
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
|
||||
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
|
||||
args: &'args GameMessageWrapperArgs
|
||||
) -> flatbuffers::WIPOffset<GameMessageWrapper<'bldr>> {
|
||||
let mut builder = GameMessageWrapperBuilder::new(_fbb);
|
||||
@@ -166,11 +166,11 @@ impl<'a> Default for GameMessageWrapperArgs {
|
||||
}
|
||||
}
|
||||
|
||||
pub struct GameMessageWrapperBuilder<'a: 'b, 'b> {
|
||||
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
|
||||
pub struct GameMessageWrapperBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
|
||||
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
|
||||
start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
|
||||
}
|
||||
impl<'a: 'b, 'b> GameMessageWrapperBuilder<'a, 'b> {
|
||||
impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> GameMessageWrapperBuilder<'a, 'b, A> {
|
||||
#[inline]
|
||||
pub fn add_Message_type(&mut self, Message_type: GameMessage) {
|
||||
self.fbb_.push_slot::<GameMessage>(GameMessageWrapper::VT_MESSAGE_TYPE, Message_type, GameMessage::NONE);
|
||||
@@ -180,7 +180,7 @@ impl<'a: 'b, 'b> GameMessageWrapperBuilder<'a, 'b> {
|
||||
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(GameMessageWrapper::VT_MESSAGE, Message);
|
||||
}
|
||||
#[inline]
|
||||
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> GameMessageWrapperBuilder<'a, 'b> {
|
||||
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> GameMessageWrapperBuilder<'a, 'b, A> {
|
||||
let start = _fbb.start_table();
|
||||
GameMessageWrapperBuilder {
|
||||
fbb_: _fbb,
|
||||
@@ -241,9 +241,9 @@ impl Default for GameMessageWrapperT {
|
||||
}
|
||||
}
|
||||
impl GameMessageWrapperT {
|
||||
pub fn pack<'b>(
|
||||
pub fn pack<'b, A: flatbuffers::Allocator + 'b>(
|
||||
&self,
|
||||
_fbb: &mut flatbuffers::FlatBufferBuilder<'b>
|
||||
_fbb: &mut flatbuffers::FlatBufferBuilder<'b, A>
|
||||
) -> flatbuffers::WIPOffset<GameMessageWrapper<'b>> {
|
||||
let Message_type = self.Message.game_message_type();
|
||||
let Message = self.Message.pack(_fbb);
|
||||
|
||||
@@ -35,8 +35,8 @@ impl<'a> PlayerInputChange<'a> {
|
||||
PlayerInputChange { _tab: table }
|
||||
}
|
||||
#[allow(unused_mut)]
|
||||
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
|
||||
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
|
||||
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
|
||||
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
|
||||
_args: &'args PlayerInputChangeArgs
|
||||
) -> flatbuffers::WIPOffset<PlayerInputChange<'bldr>> {
|
||||
let mut builder = PlayerInputChangeBuilder::new(_fbb);
|
||||
@@ -70,13 +70,13 @@ impl<'a> Default for PlayerInputChangeArgs {
|
||||
}
|
||||
}
|
||||
|
||||
pub struct PlayerInputChangeBuilder<'a: 'b, 'b> {
|
||||
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
|
||||
pub struct PlayerInputChangeBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
|
||||
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
|
||||
start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
|
||||
}
|
||||
impl<'a: 'b, 'b> PlayerInputChangeBuilder<'a, 'b> {
|
||||
impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> PlayerInputChangeBuilder<'a, 'b, A> {
|
||||
#[inline]
|
||||
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> PlayerInputChangeBuilder<'a, 'b> {
|
||||
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> PlayerInputChangeBuilder<'a, 'b, A> {
|
||||
let start = _fbb.start_table();
|
||||
PlayerInputChangeBuilder {
|
||||
fbb_: _fbb,
|
||||
@@ -107,9 +107,9 @@ impl Default for PlayerInputChangeT {
|
||||
}
|
||||
}
|
||||
impl PlayerInputChangeT {
|
||||
pub fn pack<'b>(
|
||||
pub fn pack<'b, A: flatbuffers::Allocator + 'b>(
|
||||
&self,
|
||||
_fbb: &mut flatbuffers::FlatBufferBuilder<'b>
|
||||
_fbb: &mut flatbuffers::FlatBufferBuilder<'b, A>
|
||||
) -> flatbuffers::WIPOffset<PlayerInputChange<'b>> {
|
||||
PlayerInputChange::create(_fbb, &PlayerInputChangeArgs{
|
||||
})
|
||||
|
||||
@@ -35,8 +35,8 @@ impl<'a> PlayerSpectate<'a> {
|
||||
PlayerSpectate { _tab: table }
|
||||
}
|
||||
#[allow(unused_mut)]
|
||||
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
|
||||
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
|
||||
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
|
||||
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
|
||||
_args: &'args PlayerSpectateArgs
|
||||
) -> flatbuffers::WIPOffset<PlayerSpectate<'bldr>> {
|
||||
let mut builder = PlayerSpectateBuilder::new(_fbb);
|
||||
@@ -70,13 +70,13 @@ impl<'a> Default for PlayerSpectateArgs {
|
||||
}
|
||||
}
|
||||
|
||||
pub struct PlayerSpectateBuilder<'a: 'b, 'b> {
|
||||
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
|
||||
pub struct PlayerSpectateBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
|
||||
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
|
||||
start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
|
||||
}
|
||||
impl<'a: 'b, 'b> PlayerSpectateBuilder<'a, 'b> {
|
||||
impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> PlayerSpectateBuilder<'a, 'b, A> {
|
||||
#[inline]
|
||||
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> PlayerSpectateBuilder<'a, 'b> {
|
||||
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> PlayerSpectateBuilder<'a, 'b, A> {
|
||||
let start = _fbb.start_table();
|
||||
PlayerSpectateBuilder {
|
||||
fbb_: _fbb,
|
||||
@@ -107,9 +107,9 @@ impl Default for PlayerSpectateT {
|
||||
}
|
||||
}
|
||||
impl PlayerSpectateT {
|
||||
pub fn pack<'b>(
|
||||
pub fn pack<'b, A: flatbuffers::Allocator + 'b>(
|
||||
&self,
|
||||
_fbb: &mut flatbuffers::FlatBufferBuilder<'b>
|
||||
_fbb: &mut flatbuffers::FlatBufferBuilder<'b, A>
|
||||
) -> flatbuffers::WIPOffset<PlayerSpectate<'b>> {
|
||||
PlayerSpectate::create(_fbb, &PlayerSpectateArgs{
|
||||
})
|
||||
|
||||
@@ -35,8 +35,8 @@ impl<'a> PlayerStatEvent<'a> {
|
||||
PlayerStatEvent { _tab: table }
|
||||
}
|
||||
#[allow(unused_mut)]
|
||||
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
|
||||
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
|
||||
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
|
||||
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
|
||||
_args: &'args PlayerStatEventArgs
|
||||
) -> flatbuffers::WIPOffset<PlayerStatEvent<'bldr>> {
|
||||
let mut builder = PlayerStatEventBuilder::new(_fbb);
|
||||
@@ -70,13 +70,13 @@ impl<'a> Default for PlayerStatEventArgs {
|
||||
}
|
||||
}
|
||||
|
||||
pub struct PlayerStatEventBuilder<'a: 'b, 'b> {
|
||||
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
|
||||
pub struct PlayerStatEventBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
|
||||
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
|
||||
start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
|
||||
}
|
||||
impl<'a: 'b, 'b> PlayerStatEventBuilder<'a, 'b> {
|
||||
impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> PlayerStatEventBuilder<'a, 'b, A> {
|
||||
#[inline]
|
||||
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> PlayerStatEventBuilder<'a, 'b> {
|
||||
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> PlayerStatEventBuilder<'a, 'b, A> {
|
||||
let start = _fbb.start_table();
|
||||
PlayerStatEventBuilder {
|
||||
fbb_: _fbb,
|
||||
@@ -107,9 +107,9 @@ impl Default for PlayerStatEventT {
|
||||
}
|
||||
}
|
||||
impl PlayerStatEventT {
|
||||
pub fn pack<'b>(
|
||||
pub fn pack<'b, A: flatbuffers::Allocator + 'b>(
|
||||
&self,
|
||||
_fbb: &mut flatbuffers::FlatBufferBuilder<'b>
|
||||
_fbb: &mut flatbuffers::FlatBufferBuilder<'b, A>
|
||||
) -> flatbuffers::WIPOffset<PlayerStatEvent<'b>> {
|
||||
PlayerStatEvent::create(_fbb, &PlayerStatEventArgs{
|
||||
})
|
||||
|
||||
@@ -37,8 +37,8 @@ impl<'a> RootTable<'a> {
|
||||
RootTable { _tab: table }
|
||||
}
|
||||
#[allow(unused_mut)]
|
||||
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
|
||||
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
|
||||
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
|
||||
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
|
||||
args: &'args RootTableArgs
|
||||
) -> flatbuffers::WIPOffset<RootTable<'bldr>> {
|
||||
let mut builder = RootTableBuilder::new(_fbb);
|
||||
@@ -124,11 +124,11 @@ impl<'a> Default for RootTableArgs {
|
||||
}
|
||||
}
|
||||
|
||||
pub struct RootTableBuilder<'a: 'b, 'b> {
|
||||
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
|
||||
pub struct RootTableBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
|
||||
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
|
||||
start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
|
||||
}
|
||||
impl<'a: 'b, 'b> RootTableBuilder<'a, 'b> {
|
||||
impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> RootTableBuilder<'a, 'b, A> {
|
||||
#[inline]
|
||||
pub fn add_field42_type(&mut self, field42_type: FieldUnion) {
|
||||
self.fbb_.push_slot::<FieldUnion>(RootTable::VT_FIELD42_TYPE, field42_type, FieldUnion::NONE);
|
||||
@@ -138,7 +138,7 @@ impl<'a: 'b, 'b> RootTableBuilder<'a, 'b> {
|
||||
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(RootTable::VT_FIELD42, field42);
|
||||
}
|
||||
#[inline]
|
||||
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> RootTableBuilder<'a, 'b> {
|
||||
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> RootTableBuilder<'a, 'b, A> {
|
||||
let start = _fbb.start_table();
|
||||
RootTableBuilder {
|
||||
fbb_: _fbb,
|
||||
@@ -185,9 +185,9 @@ impl Default for RootTableT {
|
||||
}
|
||||
}
|
||||
impl RootTableT {
|
||||
pub fn pack<'b>(
|
||||
pub fn pack<'b, A: flatbuffers::Allocator + 'b>(
|
||||
&self,
|
||||
_fbb: &mut flatbuffers::FlatBufferBuilder<'b>
|
||||
_fbb: &mut flatbuffers::FlatBufferBuilder<'b, A>
|
||||
) -> flatbuffers::WIPOffset<RootTable<'b>> {
|
||||
let field42_type = self.field42.field_union_type();
|
||||
let field42 = self.field42.pack(_fbb);
|
||||
|
||||
Reference in New Issue
Block a user