Austin Schuh | e89fa2d | 2019-08-14 20:24:23 -0700 | [diff] [blame] | 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") |
Austin Schuh | e89fa2d | 2019-08-14 20:24:23 -0700 | [diff] [blame] | 10 | class Referrable : Table() { |
| 11 | |
| 12 | fun __init(_i: Int, _bb: ByteBuffer) { |
| 13 | __reset(_i, _bb) |
| 14 | } |
| 15 | 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 | } |
| 24 | 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 | } |
| 33 | 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 { |
James Kuszmaul | 3b15b0c | 2022-11-08 14:03:16 -0800 | [diff] [blame^] | 39 | fun validateVersion() = Constants.FLATBUFFERS_22_10_26() |
Austin Schuh | e89fa2d | 2019-08-14 20:24:23 -0700 | [diff] [blame] | 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 | } |
| 45 | fun createReferrable(builder: FlatBufferBuilder, id: ULong) : Int { |
| 46 | builder.startTable(1) |
| 47 | addId(builder, id) |
| 48 | return endReferrable(builder) |
| 49 | } |
| 50 | fun startReferrable(builder: FlatBufferBuilder) = builder.startTable(1) |
Austin Schuh | 2dd86a9 | 2022-09-14 21:19:23 -0700 | [diff] [blame] | 51 | fun addId(builder: FlatBufferBuilder, id: ULong) { |
| 52 | builder.addLong(id.toLong()) |
| 53 | builder.slot(0) |
| 54 | } |
Austin Schuh | e89fa2d | 2019-08-14 20:24:23 -0700 | [diff] [blame] | 55 | fun endReferrable(builder: FlatBufferBuilder) : Int { |
| 56 | val o = builder.endTable() |
| 57 | return o |
| 58 | } |
| 59 | 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 | } |