blob: 92078ac015369103a69d56b7835ccfc74264970c [file] [log] [blame]
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001// automatically generated by the FlatBuffers compiler, do not modify
2
3package MyGame.Example
4
5import java.nio.*
6import kotlin.math.sign
7import com.google.flatbuffers.*
8
9@Suppress("unused")
Austin Schuhe89fa2d2019-08-14 20:24:23 -070010class 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 Kuszmaul3b15b0c2022-11-08 14:03:16 -080039 fun validateVersion() = Constants.FLATBUFFERS_22_10_26()
Austin Schuhe89fa2d2019-08-14 20:24:23 -070040 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 Schuh2dd86a92022-09-14 21:19:23 -070051 fun addId(builder: FlatBufferBuilder, id: ULong) {
52 builder.addLong(id.toLong())
53 builder.slot(0)
54 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -070055 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}