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