xref: /aosp_15_r20/external/flatbuffers/tests/MyGame/Example/Referrable.kt (revision 890232f25432b36107d06881e0a25aaa6b473652)
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