blob: 55ff1d82d52b16c9f82f035e0839523d726470a8 [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")
10@ExperimentalUnsignedTypes
11class Referrable : Table() {
12
13 fun __init(_i: Int, _bb: ByteBuffer) {
14 __reset(_i, _bb)
15 }
16 fun __assign(_i: Int, _bb: ByteBuffer) : Referrable {
17 __init(_i, _bb)
18 return this
19 }
20 val id : ULong
21 get() {
22 val o = __offset(4)
23 return if(o != 0) bb.getLong(o + bb_pos).toULong() else 0UL
24 }
25 fun mutateId(id: ULong) : Boolean {
26 val o = __offset(4)
27 return if (o != 0) {
28 bb.putLong(o + bb_pos, id.toLong())
29 true
30 } else {
31 false
32 }
33 }
34 override fun keysCompare(o1: Int, o2: Int, _bb: ByteBuffer) : Int {
35 val val_1 = _bb.getLong(__offset(4, o1, _bb))
36 val val_2 = _bb.getLong(__offset(4, o2, _bb))
37 return (val_1 - val_2).sign
38 }
39 companion object {
40 fun validateVersion() = Constants.FLATBUFFERS_1_11_1()
41 fun getRootAsReferrable(_bb: ByteBuffer): Referrable = getRootAsReferrable(_bb, Referrable())
42 fun getRootAsReferrable(_bb: ByteBuffer, obj: Referrable): Referrable {
43 _bb.order(ByteOrder.LITTLE_ENDIAN)
44 return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb))
45 }
46 fun createReferrable(builder: FlatBufferBuilder, id: ULong) : Int {
47 builder.startTable(1)
48 addId(builder, id)
49 return endReferrable(builder)
50 }
51 fun startReferrable(builder: FlatBufferBuilder) = builder.startTable(1)
52 fun addId(builder: FlatBufferBuilder, id: ULong) = builder.addLong(0, id.toLong(), 0)
53 fun endReferrable(builder: FlatBufferBuilder) : Int {
54 val o = builder.endTable()
55 return o
56 }
57 fun __lookup_by_key(obj: Referrable?, vectorLocation: Int, key: ULong, bb: ByteBuffer) : Referrable? {
58 var span = bb.getInt(vectorLocation - 4)
59 var start = 0
60 while (span != 0) {
61 var middle = span / 2
62 val tableOffset = __indirect(vectorLocation + 4 * (start + middle), bb)
63 val value = bb.getLong(__offset(4, bb.capacity() - tableOffset, bb)).toULong()
64 val comp = value.compareTo(key)
65 when {
66 comp > 0 -> span = middle
67 comp < 0 -> {
68 middle++
69 start += middle
70 span -= middle
71 }
72 else -> {
73 return (obj ?: Referrable()).__assign(tableOffset, bb)
74 }
75 }
76 }
77 return null
78 }
79 }
80}