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