mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-29 04:40:03 +00:00
Rust structz (#6539)
* Rust structz * struct of structs test * swift tmp variables Co-authored-by: Casper Neo <cneo@google.com>
This commit is contained in:
84
tests/my-game/example/struct-of-structs.ts
Normal file
84
tests/my-game/example/struct-of-structs.ts
Normal file
@@ -0,0 +1,84 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import * as flatbuffers from 'flatbuffers';
|
||||
|
||||
import { Ability, AbilityT } from '../../my-game/example/ability';
|
||||
import { Test, TestT } from '../../my-game/example/test';
|
||||
|
||||
|
||||
export class StructOfStructs {
|
||||
bb: flatbuffers.ByteBuffer|null = null;
|
||||
bb_pos = 0;
|
||||
__init(i:number, bb:flatbuffers.ByteBuffer):StructOfStructs {
|
||||
this.bb_pos = i;
|
||||
this.bb = bb;
|
||||
return this;
|
||||
}
|
||||
|
||||
a(obj?:Ability):Ability|null {
|
||||
return (obj || new Ability()).__init(this.bb_pos, this.bb!);
|
||||
}
|
||||
|
||||
b(obj?:Test):Test|null {
|
||||
return (obj || new Test()).__init(this.bb_pos + 8, this.bb!);
|
||||
}
|
||||
|
||||
c(obj?:Ability):Ability|null {
|
||||
return (obj || new Ability()).__init(this.bb_pos + 12, this.bb!);
|
||||
}
|
||||
|
||||
static sizeOf():number {
|
||||
return 20;
|
||||
}
|
||||
|
||||
static createStructOfStructs(builder:flatbuffers.Builder, a_id: number, a_distance: number, b_a: number, b_b: number, c_id: number, c_distance: number):flatbuffers.Offset {
|
||||
builder.prep(4, 20);
|
||||
builder.prep(4, 8);
|
||||
builder.writeInt32(c_distance);
|
||||
builder.writeInt32(c_id);
|
||||
builder.prep(2, 4);
|
||||
builder.pad(1);
|
||||
builder.writeInt8(b_b);
|
||||
builder.writeInt16(b_a);
|
||||
builder.prep(4, 8);
|
||||
builder.writeInt32(a_distance);
|
||||
builder.writeInt32(a_id);
|
||||
return builder.offset();
|
||||
}
|
||||
|
||||
|
||||
unpack(): StructOfStructsT {
|
||||
return new StructOfStructsT(
|
||||
(this.a() !== null ? this.a()!.unpack() : null),
|
||||
(this.b() !== null ? this.b()!.unpack() : null),
|
||||
(this.c() !== null ? this.c()!.unpack() : null)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
unpackTo(_o: StructOfStructsT): void {
|
||||
_o.a = (this.a() !== null ? this.a()!.unpack() : null);
|
||||
_o.b = (this.b() !== null ? this.b()!.unpack() : null);
|
||||
_o.c = (this.c() !== null ? this.c()!.unpack() : null);
|
||||
}
|
||||
}
|
||||
|
||||
export class StructOfStructsT {
|
||||
constructor(
|
||||
public a: AbilityT|null = null,
|
||||
public b: TestT|null = null,
|
||||
public c: AbilityT|null = null
|
||||
){}
|
||||
|
||||
|
||||
pack(builder:flatbuffers.Builder): flatbuffers.Offset {
|
||||
return StructOfStructs.createStructOfStructs(builder,
|
||||
(this.a === null ? 0 : this.a.id!),
|
||||
(this.a === null ? 0 : this.a.distance!),
|
||||
(this.b === null ? 0 : this.b.a!),
|
||||
(this.b === null ? 0 : this.b.b!),
|
||||
(this.c === null ? 0 : this.c.id!),
|
||||
(this.c === null ? 0 : this.c.distance!)
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user