1*890232f2SAndroid Build Coastguard Worker // automatically generated by the FlatBuffers compiler, do not modify 2*890232f2SAndroid Build Coastguard Worker 3*890232f2SAndroid Build Coastguard Worker package MyGame.Example 4*890232f2SAndroid Build Coastguard Worker 5*890232f2SAndroid Build Coastguard Worker import java.nio.* 6*890232f2SAndroid Build Coastguard Worker import kotlin.math.sign 7*890232f2SAndroid Build Coastguard Worker import com.google.flatbuffers.* 8*890232f2SAndroid Build Coastguard Worker 9*890232f2SAndroid Build Coastguard Worker @Suppress("unused") 10*890232f2SAndroid Build Coastguard Worker class Referrable : Table() { 11*890232f2SAndroid Build Coastguard Worker __initnull12*890232f2SAndroid Build Coastguard Worker fun __init(_i: Int, _bb: ByteBuffer) { 13*890232f2SAndroid Build Coastguard Worker __reset(_i, _bb) 14*890232f2SAndroid Build Coastguard Worker } __assignnull15*890232f2SAndroid Build Coastguard Worker fun __assign(_i: Int, _bb: ByteBuffer) : Referrable { 16*890232f2SAndroid Build Coastguard Worker __init(_i, _bb) 17*890232f2SAndroid Build Coastguard Worker return this 18*890232f2SAndroid Build Coastguard Worker } 19*890232f2SAndroid Build Coastguard Worker val id : ULong 20*890232f2SAndroid Build Coastguard Worker get() { 21*890232f2SAndroid Build Coastguard Worker val o = __offset(4) 22*890232f2SAndroid Build Coastguard Worker return if(o != 0) bb.getLong(o + bb_pos).toULong() else 0UL 23*890232f2SAndroid Build Coastguard Worker } mutateIdnull24*890232f2SAndroid Build Coastguard Worker fun mutateId(id: ULong) : Boolean { 25*890232f2SAndroid Build Coastguard Worker val o = __offset(4) 26*890232f2SAndroid Build Coastguard Worker return if (o != 0) { 27*890232f2SAndroid Build Coastguard Worker bb.putLong(o + bb_pos, id.toLong()) 28*890232f2SAndroid Build Coastguard Worker true 29*890232f2SAndroid Build Coastguard Worker } else { 30*890232f2SAndroid Build Coastguard Worker false 31*890232f2SAndroid Build Coastguard Worker } 32*890232f2SAndroid Build Coastguard Worker } keysComparenull33*890232f2SAndroid Build Coastguard Worker override fun keysCompare(o1: Int, o2: Int, _bb: ByteBuffer) : Int { 34*890232f2SAndroid Build Coastguard Worker val val_1 = _bb.getLong(__offset(4, o1, _bb)) 35*890232f2SAndroid Build Coastguard Worker val val_2 = _bb.getLong(__offset(4, o2, _bb)) 36*890232f2SAndroid Build Coastguard Worker return (val_1 - val_2).sign 37*890232f2SAndroid Build Coastguard Worker } 38*890232f2SAndroid Build Coastguard Worker companion object { validateVersionnull39*890232f2SAndroid Build Coastguard Worker fun validateVersion() = Constants.FLATBUFFERS_2_0_0() 40*890232f2SAndroid Build Coastguard Worker fun getRootAsReferrable(_bb: ByteBuffer): Referrable = getRootAsReferrable(_bb, Referrable()) 41*890232f2SAndroid Build Coastguard Worker fun getRootAsReferrable(_bb: ByteBuffer, obj: Referrable): Referrable { 42*890232f2SAndroid Build Coastguard Worker _bb.order(ByteOrder.LITTLE_ENDIAN) 43*890232f2SAndroid Build Coastguard Worker return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)) 44*890232f2SAndroid Build Coastguard Worker } createReferrablenull45*890232f2SAndroid Build Coastguard Worker fun createReferrable(builder: FlatBufferBuilder, id: ULong) : Int { 46*890232f2SAndroid Build Coastguard Worker builder.startTable(1) 47*890232f2SAndroid Build Coastguard Worker addId(builder, id) 48*890232f2SAndroid Build Coastguard Worker return endReferrable(builder) 49*890232f2SAndroid Build Coastguard Worker } startReferrablenull50*890232f2SAndroid Build Coastguard Worker fun startReferrable(builder: FlatBufferBuilder) = builder.startTable(1) 51*890232f2SAndroid Build Coastguard Worker fun addId(builder: FlatBufferBuilder, id: ULong) { 52*890232f2SAndroid Build Coastguard Worker builder.addLong(id.toLong()) 53*890232f2SAndroid Build Coastguard Worker builder.slot(0) 54*890232f2SAndroid Build Coastguard Worker } endReferrablenull55*890232f2SAndroid Build Coastguard Worker fun endReferrable(builder: FlatBufferBuilder) : Int { 56*890232f2SAndroid Build Coastguard Worker val o = builder.endTable() 57*890232f2SAndroid Build Coastguard Worker return o 58*890232f2SAndroid Build Coastguard Worker } __lookup_by_keynull59*890232f2SAndroid Build Coastguard Worker fun __lookup_by_key(obj: Referrable?, vectorLocation: Int, key: ULong, bb: ByteBuffer) : Referrable? { 60*890232f2SAndroid Build Coastguard Worker var span = bb.getInt(vectorLocation - 4) 61*890232f2SAndroid Build Coastguard Worker var start = 0 62*890232f2SAndroid Build Coastguard Worker while (span != 0) { 63*890232f2SAndroid Build Coastguard Worker var middle = span / 2 64*890232f2SAndroid Build Coastguard Worker val tableOffset = __indirect(vectorLocation + 4 * (start + middle), bb) 65*890232f2SAndroid Build Coastguard Worker val value = bb.getLong(__offset(4, bb.capacity() - tableOffset, bb)).toULong() 66*890232f2SAndroid Build Coastguard Worker val comp = value.compareTo(key) 67*890232f2SAndroid Build Coastguard Worker when { 68*890232f2SAndroid Build Coastguard Worker comp > 0 -> span = middle 69*890232f2SAndroid Build Coastguard Worker comp < 0 -> { 70*890232f2SAndroid Build Coastguard Worker middle++ 71*890232f2SAndroid Build Coastguard Worker start += middle 72*890232f2SAndroid Build Coastguard Worker span -= middle 73*890232f2SAndroid Build Coastguard Worker } 74*890232f2SAndroid Build Coastguard Worker else -> { 75*890232f2SAndroid Build Coastguard Worker return (obj ?: Referrable()).__assign(tableOffset, bb) 76*890232f2SAndroid Build Coastguard Worker } 77*890232f2SAndroid Build Coastguard Worker } 78*890232f2SAndroid Build Coastguard Worker } 79*890232f2SAndroid Build Coastguard Worker return null 80*890232f2SAndroid Build Coastguard Worker } 81*890232f2SAndroid Build Coastguard Worker } 82*890232f2SAndroid Build Coastguard Worker } 83