1 // automatically generated by the FlatBuffers compiler, do not modify 2 3 module kissrpc.IDL.flatbuffer.kissidl; 4 5 import std.typecons; 6 import flatbuffers; 7 8 struct UserInfoFB { 9 mixin Table!UserInfoFB; 10 11 static UserInfoFB getRootAsUserInfoFB(ByteBuffer _bb) { return UserInfoFB.init_(_bb.get!int(_bb.position()) + _bb.position(), _bb); } 12 @property Nullable!string name() { uint o = __offset(4); return o != 0 ? Nullable!string(__string(o + _pos)) : Nullable!string.init; } 13 @property int age() { uint o = __offset(6); return o != 0 ? _buffer.get!int(o + _pos) : 0; } 14 @property double widget() { uint o = __offset(8); return o != 0 ? _buffer.get!double(o + _pos) : 0.0; } 15 16 static uint createUserInfoFB(FlatBufferBuilder builder,uint name,int age,double widget) { 17 builder.startObject(3); 18 UserInfoFB.addWidget(builder, widget); 19 UserInfoFB.addAge(builder, age); 20 UserInfoFB.addName(builder, name); 21 return UserInfoFB.endUserInfoFB(builder); 22 } 23 24 static void startUserInfoFB(FlatBufferBuilder builder) { builder.startObject(3); } 25 static void addName(FlatBufferBuilder builder, uint nameOffset) { builder.addOffset(0, nameOffset, 0); } 26 static void addAge(FlatBufferBuilder builder, int age) { builder.add!int(1, age, 0); } 27 static void addWidget(FlatBufferBuilder builder, double widget) { builder.add!double(2, widget, 0.0); } 28 static uint endUserInfoFB(FlatBufferBuilder builder) { 29 uint o = builder.endObject(); 30 return o; 31 } 32 } 33 34 struct ContactsFB { 35 mixin Table!ContactsFB; 36 37 static ContactsFB getRootAsContactsFB(ByteBuffer _bb) { return ContactsFB.init_(_bb.get!int(_bb.position()) + _bb.position(), _bb); } 38 @property int number() { uint o = __offset(4); return o != 0 ? _buffer.get!int(o + _pos) : 0; } 39 auto userInfoList() { return Iterator!(ContactsFB, UserInfoFB, "userInfoList")(this); } 40 Nullable!UserInfoFB userInfoList(uint j) { uint o = __offset(6); return o != 0 ? Nullable!UserInfoFB(UserInfoFB.init_(__indirect(__dvector(o) + j * 4), _buffer)) : Nullable!UserInfoFB.init; } 41 @property uint userInfoListLength() { uint o = __offset(6); return o != 0 ? __vector_len(o) : 0; } 42 43 static uint createContactsFB(FlatBufferBuilder builder,int number,uint userInfoList) { 44 builder.startObject(2); 45 ContactsFB.addUserInfoList(builder, userInfoList); 46 ContactsFB.addNumber(builder, number); 47 return ContactsFB.endContactsFB(builder); 48 } 49 50 static void startContactsFB(FlatBufferBuilder builder) { builder.startObject(2); } 51 static void addNumber(FlatBufferBuilder builder, int number) { builder.add!int(0, number, 0); } 52 static void addUserInfoList(FlatBufferBuilder builder, uint userInfoListOffset) { builder.addOffset(1, userInfoListOffset, 0); } 53 static uint createUserInfoListVector(FlatBufferBuilder builder, uint[] data) { builder.startVector(4, cast(uint)data.length, 4); for (size_t i = data.length; i > 0; i--) builder.addOffset(data[i - 1]); return builder.endVector(); } 54 static void startUserInfoListVector(FlatBufferBuilder builder, uint numElems) { builder.startVector(4, numElems, 4); } 55 static uint endContactsFB(FlatBufferBuilder builder) { 56 uint o = builder.endObject(); 57 return o; 58 } 59 } 60 61 struct AccountNameFB { 62 mixin Table!AccountNameFB; 63 64 static AccountNameFB getRootAsAccountNameFB(ByteBuffer _bb) { return AccountNameFB.init_(_bb.get!int(_bb.position()) + _bb.position(), _bb); } 65 @property Nullable!string name() { uint o = __offset(4); return o != 0 ? Nullable!string(__string(o + _pos)) : Nullable!string.init; } 66 @property int count() { uint o = __offset(6); return o != 0 ? _buffer.get!int(o + _pos) : 0; } 67 68 static uint createAccountNameFB(FlatBufferBuilder builder,uint name,int count) { 69 builder.startObject(2); 70 AccountNameFB.addCount(builder, count); 71 AccountNameFB.addName(builder, name); 72 return AccountNameFB.endAccountNameFB(builder); 73 } 74 75 static void startAccountNameFB(FlatBufferBuilder builder) { builder.startObject(2); } 76 static void addName(FlatBufferBuilder builder, uint nameOffset) { builder.addOffset(0, nameOffset, 0); } 77 static void addCount(FlatBufferBuilder builder, int count) { builder.add!int(1, count, 0); } 78 static uint endAccountNameFB(FlatBufferBuilder builder) { 79 uint o = builder.endObject(); 80 return o; 81 } 82 } 83