...

Text file src/github.com/google/flatbuffers/tests/MyGame/Example/Monster.kt

Documentation: github.com/google/flatbuffers/tests/MyGame/Example

     1// automatically generated by the FlatBuffers compiler, do not modify
     2
     3package MyGame.Example
     4
     5import com.google.flatbuffers.BaseVector
     6import com.google.flatbuffers.BooleanVector
     7import com.google.flatbuffers.ByteVector
     8import com.google.flatbuffers.Constants
     9import com.google.flatbuffers.DoubleVector
    10import com.google.flatbuffers.FlatBufferBuilder
    11import com.google.flatbuffers.FloatVector
    12import com.google.flatbuffers.LongVector
    13import com.google.flatbuffers.StringVector
    14import com.google.flatbuffers.Struct
    15import com.google.flatbuffers.Table
    16import com.google.flatbuffers.UnionVector
    17import java.nio.ByteBuffer
    18import java.nio.ByteOrder
    19import kotlin.math.sign
    20
    21/**
    22 * an example documentation comment: "monster object"
    23 */
    24@Suppress("unused")
    25class Monster : Table() {
    26
    27    fun __init(_i: Int, _bb: ByteBuffer)  {
    28        __reset(_i, _bb)
    29    }
    30    fun __assign(_i: Int, _bb: ByteBuffer) : Monster {
    31        __init(_i, _bb)
    32        return this
    33    }
    34    val pos : MyGame.Example.Vec3? get() = pos(MyGame.Example.Vec3())
    35    fun pos(obj: MyGame.Example.Vec3) : MyGame.Example.Vec3? {
    36        val o = __offset(4)
    37        return if (o != 0) {
    38            obj.__assign(o + bb_pos, bb)
    39        } else {
    40            null
    41        }
    42    }
    43    val mana : Short
    44        get() {
    45            val o = __offset(6)
    46            return if(o != 0) bb.getShort(o + bb_pos) else 150
    47        }
    48    fun mutateMana(mana: Short) : Boolean {
    49        val o = __offset(6)
    50        return if (o != 0) {
    51            bb.putShort(o + bb_pos, mana)
    52            true
    53        } else {
    54            false
    55        }
    56    }
    57    val hp : Short
    58        get() {
    59            val o = __offset(8)
    60            return if(o != 0) bb.getShort(o + bb_pos) else 100
    61        }
    62    fun mutateHp(hp: Short) : Boolean {
    63        val o = __offset(8)
    64        return if (o != 0) {
    65            bb.putShort(o + bb_pos, hp)
    66            true
    67        } else {
    68            false
    69        }
    70    }
    71    val name : String
    72        get() {
    73            val o = __offset(10)
    74            return if (o != 0) {
    75                __string(o + bb_pos)
    76            } else {
    77                throw AssertionError("No value for (required) field name")
    78            }
    79        }
    80    val nameAsByteBuffer : ByteBuffer get() = __vector_as_bytebuffer(10, 1)
    81    fun nameInByteBuffer(_bb: ByteBuffer) : ByteBuffer = __vector_in_bytebuffer(_bb, 10, 1)
    82    fun inventory(j: Int) : UByte {
    83        val o = __offset(14)
    84        return if (o != 0) {
    85            bb.get(__vector(o) + j * 1).toUByte()
    86        } else {
    87            0u
    88        }
    89    }
    90    val inventoryLength : Int
    91        get() {
    92            val o = __offset(14); return if (o != 0) __vector_len(o) else 0
    93        }
    94    val inventoryAsByteBuffer : ByteBuffer get() = __vector_as_bytebuffer(14, 1)
    95    fun inventoryInByteBuffer(_bb: ByteBuffer) : ByteBuffer = __vector_in_bytebuffer(_bb, 14, 1)
    96    fun mutateInventory(j: Int, inventory: UByte) : Boolean {
    97        val o = __offset(14)
    98        return if (o != 0) {
    99            bb.put(__vector(o) + j * 1, inventory.toByte())
   100            true
   101        } else {
   102            false
   103        }
   104    }
   105    val color : UByte
   106        get() {
   107            val o = __offset(16)
   108            return if(o != 0) bb.get(o + bb_pos).toUByte() else 8u
   109        }
   110    fun mutateColor(color: UByte) : Boolean {
   111        val o = __offset(16)
   112        return if (o != 0) {
   113            bb.put(o + bb_pos, color.toByte())
   114            true
   115        } else {
   116            false
   117        }
   118    }
   119    val testType : UByte
   120        get() {
   121            val o = __offset(18)
   122            return if(o != 0) bb.get(o + bb_pos).toUByte() else 0u
   123        }
   124    fun mutateTestType(testType: UByte) : Boolean {
   125        val o = __offset(18)
   126        return if (o != 0) {
   127            bb.put(o + bb_pos, testType.toByte())
   128            true
   129        } else {
   130            false
   131        }
   132    }
   133    fun test(obj: Table) : Table? {
   134        val o = __offset(20); return if (o != 0) __union(obj, o + bb_pos) else null
   135    }
   136    fun test4(j: Int) : MyGame.Example.Test? = test4(MyGame.Example.Test(), j)
   137    fun test4(obj: MyGame.Example.Test, j: Int) : MyGame.Example.Test? {
   138        val o = __offset(22)
   139        return if (o != 0) {
   140            obj.__assign(__vector(o) + j * 4, bb)
   141        } else {
   142            null
   143        }
   144    }
   145    val test4Length : Int
   146        get() {
   147            val o = __offset(22); return if (o != 0) __vector_len(o) else 0
   148        }
   149    fun testarrayofstring(j: Int) : String? {
   150        val o = __offset(24)
   151        return if (o != 0) {
   152            __string(__vector(o) + j * 4)
   153        } else {
   154            null
   155        }
   156    }
   157    val testarrayofstringLength : Int
   158        get() {
   159            val o = __offset(24); return if (o != 0) __vector_len(o) else 0
   160        }
   161    /**
   162     * an example documentation comment: this will end up in the generated code
   163     * multiline too
   164     */
   165    fun testarrayoftables(j: Int) : MyGame.Example.Monster? = testarrayoftables(MyGame.Example.Monster(), j)
   166    fun testarrayoftables(obj: MyGame.Example.Monster, j: Int) : MyGame.Example.Monster? {
   167        val o = __offset(26)
   168        return if (o != 0) {
   169            obj.__assign(__indirect(__vector(o) + j * 4), bb)
   170        } else {
   171            null
   172        }
   173    }
   174    val testarrayoftablesLength : Int
   175        get() {
   176            val o = __offset(26); return if (o != 0) __vector_len(o) else 0
   177        }
   178    fun testarrayoftablesByKey(key: String) : MyGame.Example.Monster? {
   179        val o = __offset(26)
   180        return if (o != 0) {
   181            MyGame.Example.Monster.__lookup_by_key(null, __vector(o), key, bb)
   182        } else {
   183            null
   184        }
   185    }
   186    fun testarrayoftablesByKey(obj: MyGame.Example.Monster, key: String) : MyGame.Example.Monster? {
   187        val o = __offset(26)
   188        return if (o != 0) {
   189            MyGame.Example.Monster.__lookup_by_key(obj, __vector(o), key, bb)
   190        } else {
   191            null
   192        }
   193    }
   194    val enemy : MyGame.Example.Monster? get() = enemy(MyGame.Example.Monster())
   195    fun enemy(obj: MyGame.Example.Monster) : MyGame.Example.Monster? {
   196        val o = __offset(28)
   197        return if (o != 0) {
   198            obj.__assign(__indirect(o + bb_pos), bb)
   199        } else {
   200            null
   201        }
   202    }
   203    fun testnestedflatbuffer(j: Int) : UByte {
   204        val o = __offset(30)
   205        return if (o != 0) {
   206            bb.get(__vector(o) + j * 1).toUByte()
   207        } else {
   208            0u
   209        }
   210    }
   211    val testnestedflatbufferLength : Int
   212        get() {
   213            val o = __offset(30); return if (o != 0) __vector_len(o) else 0
   214        }
   215    val testnestedflatbufferAsByteBuffer : ByteBuffer get() = __vector_as_bytebuffer(30, 1)
   216    fun testnestedflatbufferInByteBuffer(_bb: ByteBuffer) : ByteBuffer = __vector_in_bytebuffer(_bb, 30, 1)
   217    val testnestedflatbufferAsMonster : MyGame.Example.Monster? get() = testnestedflatbufferAsMonster(MyGame.Example.Monster())
   218    fun testnestedflatbufferAsMonster(obj: MyGame.Example.Monster) : MyGame.Example.Monster? {
   219        val o = __offset(30)
   220        return if (o != 0) {
   221            obj.__assign(__indirect(__vector(o)), bb)
   222        } else {
   223            null
   224        }
   225    }
   226    fun mutateTestnestedflatbuffer(j: Int, testnestedflatbuffer: UByte) : Boolean {
   227        val o = __offset(30)
   228        return if (o != 0) {
   229            bb.put(__vector(o) + j * 1, testnestedflatbuffer.toByte())
   230            true
   231        } else {
   232            false
   233        }
   234    }
   235    val testempty : MyGame.Example.Stat? get() = testempty(MyGame.Example.Stat())
   236    fun testempty(obj: MyGame.Example.Stat) : MyGame.Example.Stat? {
   237        val o = __offset(32)
   238        return if (o != 0) {
   239            obj.__assign(__indirect(o + bb_pos), bb)
   240        } else {
   241            null
   242        }
   243    }
   244    val testbool : Boolean
   245        get() {
   246            val o = __offset(34)
   247            return if(o != 0) 0.toByte() != bb.get(o + bb_pos) else false
   248        }
   249    fun mutateTestbool(testbool: Boolean) : Boolean {
   250        val o = __offset(34)
   251        return if (o != 0) {
   252            bb.put(o + bb_pos, (if(testbool) 1 else 0).toByte())
   253            true
   254        } else {
   255            false
   256        }
   257    }
   258    val testhashs32Fnv1 : Int
   259        get() {
   260            val o = __offset(36)
   261            return if(o != 0) bb.getInt(o + bb_pos) else 0
   262        }
   263    fun mutateTesthashs32Fnv1(testhashs32Fnv1: Int) : Boolean {
   264        val o = __offset(36)
   265        return if (o != 0) {
   266            bb.putInt(o + bb_pos, testhashs32Fnv1)
   267            true
   268        } else {
   269            false
   270        }
   271    }
   272    val testhashu32Fnv1 : UInt
   273        get() {
   274            val o = __offset(38)
   275            return if(o != 0) bb.getInt(o + bb_pos).toUInt() else 0u
   276        }
   277    fun mutateTesthashu32Fnv1(testhashu32Fnv1: UInt) : Boolean {
   278        val o = __offset(38)
   279        return if (o != 0) {
   280            bb.putInt(o + bb_pos, testhashu32Fnv1.toInt())
   281            true
   282        } else {
   283            false
   284        }
   285    }
   286    val testhashs64Fnv1 : Long
   287        get() {
   288            val o = __offset(40)
   289            return if(o != 0) bb.getLong(o + bb_pos) else 0L
   290        }
   291    fun mutateTesthashs64Fnv1(testhashs64Fnv1: Long) : Boolean {
   292        val o = __offset(40)
   293        return if (o != 0) {
   294            bb.putLong(o + bb_pos, testhashs64Fnv1)
   295            true
   296        } else {
   297            false
   298        }
   299    }
   300    val testhashu64Fnv1 : ULong
   301        get() {
   302            val o = __offset(42)
   303            return if(o != 0) bb.getLong(o + bb_pos).toULong() else 0UL
   304        }
   305    fun mutateTesthashu64Fnv1(testhashu64Fnv1: ULong) : Boolean {
   306        val o = __offset(42)
   307        return if (o != 0) {
   308            bb.putLong(o + bb_pos, testhashu64Fnv1.toLong())
   309            true
   310        } else {
   311            false
   312        }
   313    }
   314    val testhashs32Fnv1a : Int
   315        get() {
   316            val o = __offset(44)
   317            return if(o != 0) bb.getInt(o + bb_pos) else 0
   318        }
   319    fun mutateTesthashs32Fnv1a(testhashs32Fnv1a: Int) : Boolean {
   320        val o = __offset(44)
   321        return if (o != 0) {
   322            bb.putInt(o + bb_pos, testhashs32Fnv1a)
   323            true
   324        } else {
   325            false
   326        }
   327    }
   328    val testhashu32Fnv1a : UInt
   329        get() {
   330            val o = __offset(46)
   331            return if(o != 0) bb.getInt(o + bb_pos).toUInt() else 0u
   332        }
   333    fun mutateTesthashu32Fnv1a(testhashu32Fnv1a: UInt) : Boolean {
   334        val o = __offset(46)
   335        return if (o != 0) {
   336            bb.putInt(o + bb_pos, testhashu32Fnv1a.toInt())
   337            true
   338        } else {
   339            false
   340        }
   341    }
   342    val testhashs64Fnv1a : Long
   343        get() {
   344            val o = __offset(48)
   345            return if(o != 0) bb.getLong(o + bb_pos) else 0L
   346        }
   347    fun mutateTesthashs64Fnv1a(testhashs64Fnv1a: Long) : Boolean {
   348        val o = __offset(48)
   349        return if (o != 0) {
   350            bb.putLong(o + bb_pos, testhashs64Fnv1a)
   351            true
   352        } else {
   353            false
   354        }
   355    }
   356    val testhashu64Fnv1a : ULong
   357        get() {
   358            val o = __offset(50)
   359            return if(o != 0) bb.getLong(o + bb_pos).toULong() else 0UL
   360        }
   361    fun mutateTesthashu64Fnv1a(testhashu64Fnv1a: ULong) : Boolean {
   362        val o = __offset(50)
   363        return if (o != 0) {
   364            bb.putLong(o + bb_pos, testhashu64Fnv1a.toLong())
   365            true
   366        } else {
   367            false
   368        }
   369    }
   370    fun testarrayofbools(j: Int) : Boolean {
   371        val o = __offset(52)
   372        return if (o != 0) {
   373            0.toByte() != bb.get(__vector(o) + j * 1)
   374        } else {
   375            false
   376        }
   377    }
   378    val testarrayofboolsLength : Int
   379        get() {
   380            val o = __offset(52); return if (o != 0) __vector_len(o) else 0
   381        }
   382    val testarrayofboolsAsByteBuffer : ByteBuffer get() = __vector_as_bytebuffer(52, 1)
   383    fun testarrayofboolsInByteBuffer(_bb: ByteBuffer) : ByteBuffer = __vector_in_bytebuffer(_bb, 52, 1)
   384    fun mutateTestarrayofbools(j: Int, testarrayofbools: Boolean) : Boolean {
   385        val o = __offset(52)
   386        return if (o != 0) {
   387            bb.put(__vector(o) + j * 1, (if(testarrayofbools) 1 else 0).toByte())
   388            true
   389        } else {
   390            false
   391        }
   392    }
   393    val testf : Float
   394        get() {
   395            val o = __offset(54)
   396            return if(o != 0) bb.getFloat(o + bb_pos) else 3.14159f
   397        }
   398    fun mutateTestf(testf: Float) : Boolean {
   399        val o = __offset(54)
   400        return if (o != 0) {
   401            bb.putFloat(o + bb_pos, testf)
   402            true
   403        } else {
   404            false
   405        }
   406    }
   407    val testf2 : Float
   408        get() {
   409            val o = __offset(56)
   410            return if(o != 0) bb.getFloat(o + bb_pos) else 3.0f
   411        }
   412    fun mutateTestf2(testf2: Float) : Boolean {
   413        val o = __offset(56)
   414        return if (o != 0) {
   415            bb.putFloat(o + bb_pos, testf2)
   416            true
   417        } else {
   418            false
   419        }
   420    }
   421    val testf3 : Float
   422        get() {
   423            val o = __offset(58)
   424            return if(o != 0) bb.getFloat(o + bb_pos) else 0.0f
   425        }
   426    fun mutateTestf3(testf3: Float) : Boolean {
   427        val o = __offset(58)
   428        return if (o != 0) {
   429            bb.putFloat(o + bb_pos, testf3)
   430            true
   431        } else {
   432            false
   433        }
   434    }
   435    fun testarrayofstring2(j: Int) : String? {
   436        val o = __offset(60)
   437        return if (o != 0) {
   438            __string(__vector(o) + j * 4)
   439        } else {
   440            null
   441        }
   442    }
   443    val testarrayofstring2Length : Int
   444        get() {
   445            val o = __offset(60); return if (o != 0) __vector_len(o) else 0
   446        }
   447    fun testarrayofsortedstruct(j: Int) : MyGame.Example.Ability? = testarrayofsortedstruct(MyGame.Example.Ability(), j)
   448    fun testarrayofsortedstruct(obj: MyGame.Example.Ability, j: Int) : MyGame.Example.Ability? {
   449        val o = __offset(62)
   450        return if (o != 0) {
   451            obj.__assign(__vector(o) + j * 8, bb)
   452        } else {
   453            null
   454        }
   455    }
   456    val testarrayofsortedstructLength : Int
   457        get() {
   458            val o = __offset(62); return if (o != 0) __vector_len(o) else 0
   459        }
   460    fun flex(j: Int) : UByte {
   461        val o = __offset(64)
   462        return if (o != 0) {
   463            bb.get(__vector(o) + j * 1).toUByte()
   464        } else {
   465            0u
   466        }
   467    }
   468    val flexLength : Int
   469        get() {
   470            val o = __offset(64); return if (o != 0) __vector_len(o) else 0
   471        }
   472    val flexAsByteBuffer : ByteBuffer get() = __vector_as_bytebuffer(64, 1)
   473    fun flexInByteBuffer(_bb: ByteBuffer) : ByteBuffer = __vector_in_bytebuffer(_bb, 64, 1)
   474    fun mutateFlex(j: Int, flex: UByte) : Boolean {
   475        val o = __offset(64)
   476        return if (o != 0) {
   477            bb.put(__vector(o) + j * 1, flex.toByte())
   478            true
   479        } else {
   480            false
   481        }
   482    }
   483    fun test5(j: Int) : MyGame.Example.Test? = test5(MyGame.Example.Test(), j)
   484    fun test5(obj: MyGame.Example.Test, j: Int) : MyGame.Example.Test? {
   485        val o = __offset(66)
   486        return if (o != 0) {
   487            obj.__assign(__vector(o) + j * 4, bb)
   488        } else {
   489            null
   490        }
   491    }
   492    val test5Length : Int
   493        get() {
   494            val o = __offset(66); return if (o != 0) __vector_len(o) else 0
   495        }
   496    fun vectorOfLongs(j: Int) : Long {
   497        val o = __offset(68)
   498        return if (o != 0) {
   499            bb.getLong(__vector(o) + j * 8)
   500        } else {
   501            0
   502        }
   503    }
   504    val vectorOfLongsLength : Int
   505        get() {
   506            val o = __offset(68); return if (o != 0) __vector_len(o) else 0
   507        }
   508    val vectorOfLongsAsByteBuffer : ByteBuffer get() = __vector_as_bytebuffer(68, 8)
   509    fun vectorOfLongsInByteBuffer(_bb: ByteBuffer) : ByteBuffer = __vector_in_bytebuffer(_bb, 68, 8)
   510    fun mutateVectorOfLongs(j: Int, vectorOfLongs: Long) : Boolean {
   511        val o = __offset(68)
   512        return if (o != 0) {
   513            bb.putLong(__vector(o) + j * 8, vectorOfLongs)
   514            true
   515        } else {
   516            false
   517        }
   518    }
   519    fun vectorOfDoubles(j: Int) : Double {
   520        val o = __offset(70)
   521        return if (o != 0) {
   522            bb.getDouble(__vector(o) + j * 8)
   523        } else {
   524            0.0
   525        }
   526    }
   527    val vectorOfDoublesLength : Int
   528        get() {
   529            val o = __offset(70); return if (o != 0) __vector_len(o) else 0
   530        }
   531    val vectorOfDoublesAsByteBuffer : ByteBuffer get() = __vector_as_bytebuffer(70, 8)
   532    fun vectorOfDoublesInByteBuffer(_bb: ByteBuffer) : ByteBuffer = __vector_in_bytebuffer(_bb, 70, 8)
   533    fun mutateVectorOfDoubles(j: Int, vectorOfDoubles: Double) : Boolean {
   534        val o = __offset(70)
   535        return if (o != 0) {
   536            bb.putDouble(__vector(o) + j * 8, vectorOfDoubles)
   537            true
   538        } else {
   539            false
   540        }
   541    }
   542    val parentNamespaceTest : MyGame.InParentNamespace? get() = parentNamespaceTest(MyGame.InParentNamespace())
   543    fun parentNamespaceTest(obj: MyGame.InParentNamespace) : MyGame.InParentNamespace? {
   544        val o = __offset(72)
   545        return if (o != 0) {
   546            obj.__assign(__indirect(o + bb_pos), bb)
   547        } else {
   548            null
   549        }
   550    }
   551    fun vectorOfReferrables(j: Int) : MyGame.Example.Referrable? = vectorOfReferrables(MyGame.Example.Referrable(), j)
   552    fun vectorOfReferrables(obj: MyGame.Example.Referrable, j: Int) : MyGame.Example.Referrable? {
   553        val o = __offset(74)
   554        return if (o != 0) {
   555            obj.__assign(__indirect(__vector(o) + j * 4), bb)
   556        } else {
   557            null
   558        }
   559    }
   560    val vectorOfReferrablesLength : Int
   561        get() {
   562            val o = __offset(74); return if (o != 0) __vector_len(o) else 0
   563        }
   564    fun vectorOfReferrablesByKey(key: ULong) : MyGame.Example.Referrable? {
   565        val o = __offset(74)
   566        return if (o != 0) {
   567            MyGame.Example.Referrable.__lookup_by_key(null, __vector(o), key, bb)
   568        } else {
   569            null
   570        }
   571    }
   572    fun vectorOfReferrablesByKey(obj: MyGame.Example.Referrable, key: ULong) : MyGame.Example.Referrable? {
   573        val o = __offset(74)
   574        return if (o != 0) {
   575            MyGame.Example.Referrable.__lookup_by_key(obj, __vector(o), key, bb)
   576        } else {
   577            null
   578        }
   579    }
   580    val singleWeakReference : ULong
   581        get() {
   582            val o = __offset(76)
   583            return if(o != 0) bb.getLong(o + bb_pos).toULong() else 0UL
   584        }
   585    fun mutateSingleWeakReference(singleWeakReference: ULong) : Boolean {
   586        val o = __offset(76)
   587        return if (o != 0) {
   588            bb.putLong(o + bb_pos, singleWeakReference.toLong())
   589            true
   590        } else {
   591            false
   592        }
   593    }
   594    fun vectorOfWeakReferences(j: Int) : ULong {
   595        val o = __offset(78)
   596        return if (o != 0) {
   597            bb.getLong(__vector(o) + j * 8).toULong()
   598        } else {
   599            0uL
   600        }
   601    }
   602    val vectorOfWeakReferencesLength : Int
   603        get() {
   604            val o = __offset(78); return if (o != 0) __vector_len(o) else 0
   605        }
   606    val vectorOfWeakReferencesAsByteBuffer : ByteBuffer get() = __vector_as_bytebuffer(78, 8)
   607    fun vectorOfWeakReferencesInByteBuffer(_bb: ByteBuffer) : ByteBuffer = __vector_in_bytebuffer(_bb, 78, 8)
   608    fun mutateVectorOfWeakReferences(j: Int, vectorOfWeakReferences: ULong) : Boolean {
   609        val o = __offset(78)
   610        return if (o != 0) {
   611            bb.putLong(__vector(o) + j * 8, vectorOfWeakReferences.toLong())
   612            true
   613        } else {
   614            false
   615        }
   616    }
   617    fun vectorOfStrongReferrables(j: Int) : MyGame.Example.Referrable? = vectorOfStrongReferrables(MyGame.Example.Referrable(), j)
   618    fun vectorOfStrongReferrables(obj: MyGame.Example.Referrable, j: Int) : MyGame.Example.Referrable? {
   619        val o = __offset(80)
   620        return if (o != 0) {
   621            obj.__assign(__indirect(__vector(o) + j * 4), bb)
   622        } else {
   623            null
   624        }
   625    }
   626    val vectorOfStrongReferrablesLength : Int
   627        get() {
   628            val o = __offset(80); return if (o != 0) __vector_len(o) else 0
   629        }
   630    fun vectorOfStrongReferrablesByKey(key: ULong) : MyGame.Example.Referrable? {
   631        val o = __offset(80)
   632        return if (o != 0) {
   633            MyGame.Example.Referrable.__lookup_by_key(null, __vector(o), key, bb)
   634        } else {
   635            null
   636        }
   637    }
   638    fun vectorOfStrongReferrablesByKey(obj: MyGame.Example.Referrable, key: ULong) : MyGame.Example.Referrable? {
   639        val o = __offset(80)
   640        return if (o != 0) {
   641            MyGame.Example.Referrable.__lookup_by_key(obj, __vector(o), key, bb)
   642        } else {
   643            null
   644        }
   645    }
   646    val coOwningReference : ULong
   647        get() {
   648            val o = __offset(82)
   649            return if(o != 0) bb.getLong(o + bb_pos).toULong() else 0UL
   650        }
   651    fun mutateCoOwningReference(coOwningReference: ULong) : Boolean {
   652        val o = __offset(82)
   653        return if (o != 0) {
   654            bb.putLong(o + bb_pos, coOwningReference.toLong())
   655            true
   656        } else {
   657            false
   658        }
   659    }
   660    fun vectorOfCoOwningReferences(j: Int) : ULong {
   661        val o = __offset(84)
   662        return if (o != 0) {
   663            bb.getLong(__vector(o) + j * 8).toULong()
   664        } else {
   665            0uL
   666        }
   667    }
   668    val vectorOfCoOwningReferencesLength : Int
   669        get() {
   670            val o = __offset(84); return if (o != 0) __vector_len(o) else 0
   671        }
   672    val vectorOfCoOwningReferencesAsByteBuffer : ByteBuffer get() = __vector_as_bytebuffer(84, 8)
   673    fun vectorOfCoOwningReferencesInByteBuffer(_bb: ByteBuffer) : ByteBuffer = __vector_in_bytebuffer(_bb, 84, 8)
   674    fun mutateVectorOfCoOwningReferences(j: Int, vectorOfCoOwningReferences: ULong) : Boolean {
   675        val o = __offset(84)
   676        return if (o != 0) {
   677            bb.putLong(__vector(o) + j * 8, vectorOfCoOwningReferences.toLong())
   678            true
   679        } else {
   680            false
   681        }
   682    }
   683    val nonOwningReference : ULong
   684        get() {
   685            val o = __offset(86)
   686            return if(o != 0) bb.getLong(o + bb_pos).toULong() else 0UL
   687        }
   688    fun mutateNonOwningReference(nonOwningReference: ULong) : Boolean {
   689        val o = __offset(86)
   690        return if (o != 0) {
   691            bb.putLong(o + bb_pos, nonOwningReference.toLong())
   692            true
   693        } else {
   694            false
   695        }
   696    }
   697    fun vectorOfNonOwningReferences(j: Int) : ULong {
   698        val o = __offset(88)
   699        return if (o != 0) {
   700            bb.getLong(__vector(o) + j * 8).toULong()
   701        } else {
   702            0uL
   703        }
   704    }
   705    val vectorOfNonOwningReferencesLength : Int
   706        get() {
   707            val o = __offset(88); return if (o != 0) __vector_len(o) else 0
   708        }
   709    val vectorOfNonOwningReferencesAsByteBuffer : ByteBuffer get() = __vector_as_bytebuffer(88, 8)
   710    fun vectorOfNonOwningReferencesInByteBuffer(_bb: ByteBuffer) : ByteBuffer = __vector_in_bytebuffer(_bb, 88, 8)
   711    fun mutateVectorOfNonOwningReferences(j: Int, vectorOfNonOwningReferences: ULong) : Boolean {
   712        val o = __offset(88)
   713        return if (o != 0) {
   714            bb.putLong(__vector(o) + j * 8, vectorOfNonOwningReferences.toLong())
   715            true
   716        } else {
   717            false
   718        }
   719    }
   720    val anyUniqueType : UByte
   721        get() {
   722            val o = __offset(90)
   723            return if(o != 0) bb.get(o + bb_pos).toUByte() else 0u
   724        }
   725    fun mutateAnyUniqueType(anyUniqueType: UByte) : Boolean {
   726        val o = __offset(90)
   727        return if (o != 0) {
   728            bb.put(o + bb_pos, anyUniqueType.toByte())
   729            true
   730        } else {
   731            false
   732        }
   733    }
   734    fun anyUnique(obj: Table) : Table? {
   735        val o = __offset(92); return if (o != 0) __union(obj, o + bb_pos) else null
   736    }
   737    val anyAmbiguousType : UByte
   738        get() {
   739            val o = __offset(94)
   740            return if(o != 0) bb.get(o + bb_pos).toUByte() else 0u
   741        }
   742    fun mutateAnyAmbiguousType(anyAmbiguousType: UByte) : Boolean {
   743        val o = __offset(94)
   744        return if (o != 0) {
   745            bb.put(o + bb_pos, anyAmbiguousType.toByte())
   746            true
   747        } else {
   748            false
   749        }
   750    }
   751    fun anyAmbiguous(obj: Table) : Table? {
   752        val o = __offset(96); return if (o != 0) __union(obj, o + bb_pos) else null
   753    }
   754    fun vectorOfEnums(j: Int) : UByte {
   755        val o = __offset(98)
   756        return if (o != 0) {
   757            bb.get(__vector(o) + j * 1).toUByte()
   758        } else {
   759            0u
   760        }
   761    }
   762    val vectorOfEnumsLength : Int
   763        get() {
   764            val o = __offset(98); return if (o != 0) __vector_len(o) else 0
   765        }
   766    val vectorOfEnumsAsByteBuffer : ByteBuffer get() = __vector_as_bytebuffer(98, 1)
   767    fun vectorOfEnumsInByteBuffer(_bb: ByteBuffer) : ByteBuffer = __vector_in_bytebuffer(_bb, 98, 1)
   768    fun mutateVectorOfEnums(j: Int, vectorOfEnums: UByte) : Boolean {
   769        val o = __offset(98)
   770        return if (o != 0) {
   771            bb.put(__vector(o) + j * 1, vectorOfEnums.toByte())
   772            true
   773        } else {
   774            false
   775        }
   776    }
   777    val signedEnum : Byte
   778        get() {
   779            val o = __offset(100)
   780            return if(o != 0) bb.get(o + bb_pos) else -1
   781        }
   782    fun mutateSignedEnum(signedEnum: Byte) : Boolean {
   783        val o = __offset(100)
   784        return if (o != 0) {
   785            bb.put(o + bb_pos, signedEnum)
   786            true
   787        } else {
   788            false
   789        }
   790    }
   791    fun testrequirednestedflatbuffer(j: Int) : UByte {
   792        val o = __offset(102)
   793        return if (o != 0) {
   794            bb.get(__vector(o) + j * 1).toUByte()
   795        } else {
   796            0u
   797        }
   798    }
   799    val testrequirednestedflatbufferLength : Int
   800        get() {
   801            val o = __offset(102); return if (o != 0) __vector_len(o) else 0
   802        }
   803    val testrequirednestedflatbufferAsByteBuffer : ByteBuffer get() = __vector_as_bytebuffer(102, 1)
   804    fun testrequirednestedflatbufferInByteBuffer(_bb: ByteBuffer) : ByteBuffer = __vector_in_bytebuffer(_bb, 102, 1)
   805    val testrequirednestedflatbufferAsMonster : MyGame.Example.Monster? get() = testrequirednestedflatbufferAsMonster(MyGame.Example.Monster())
   806    fun testrequirednestedflatbufferAsMonster(obj: MyGame.Example.Monster) : MyGame.Example.Monster? {
   807        val o = __offset(102)
   808        return if (o != 0) {
   809            obj.__assign(__indirect(__vector(o)), bb)
   810        } else {
   811            null
   812        }
   813    }
   814    fun mutateTestrequirednestedflatbuffer(j: Int, testrequirednestedflatbuffer: UByte) : Boolean {
   815        val o = __offset(102)
   816        return if (o != 0) {
   817            bb.put(__vector(o) + j * 1, testrequirednestedflatbuffer.toByte())
   818            true
   819        } else {
   820            false
   821        }
   822    }
   823    fun scalarKeySortedTables(j: Int) : MyGame.Example.Stat? = scalarKeySortedTables(MyGame.Example.Stat(), j)
   824    fun scalarKeySortedTables(obj: MyGame.Example.Stat, j: Int) : MyGame.Example.Stat? {
   825        val o = __offset(104)
   826        return if (o != 0) {
   827            obj.__assign(__indirect(__vector(o) + j * 4), bb)
   828        } else {
   829            null
   830        }
   831    }
   832    val scalarKeySortedTablesLength : Int
   833        get() {
   834            val o = __offset(104); return if (o != 0) __vector_len(o) else 0
   835        }
   836    fun scalarKeySortedTablesByKey(key: UShort) : MyGame.Example.Stat? {
   837        val o = __offset(104)
   838        return if (o != 0) {
   839            MyGame.Example.Stat.__lookup_by_key(null, __vector(o), key, bb)
   840        } else {
   841            null
   842        }
   843    }
   844    fun scalarKeySortedTablesByKey(obj: MyGame.Example.Stat, key: UShort) : MyGame.Example.Stat? {
   845        val o = __offset(104)
   846        return if (o != 0) {
   847            MyGame.Example.Stat.__lookup_by_key(obj, __vector(o), key, bb)
   848        } else {
   849            null
   850        }
   851    }
   852    val nativeInline : MyGame.Example.Test? get() = nativeInline(MyGame.Example.Test())
   853    fun nativeInline(obj: MyGame.Example.Test) : MyGame.Example.Test? {
   854        val o = __offset(106)
   855        return if (o != 0) {
   856            obj.__assign(o + bb_pos, bb)
   857        } else {
   858            null
   859        }
   860    }
   861    val longEnumNonEnumDefault : ULong
   862        get() {
   863            val o = __offset(108)
   864            return if(o != 0) bb.getLong(o + bb_pos).toULong() else 0UL
   865        }
   866    fun mutateLongEnumNonEnumDefault(longEnumNonEnumDefault: ULong) : Boolean {
   867        val o = __offset(108)
   868        return if (o != 0) {
   869            bb.putLong(o + bb_pos, longEnumNonEnumDefault.toLong())
   870            true
   871        } else {
   872            false
   873        }
   874    }
   875    val longEnumNormalDefault : ULong
   876        get() {
   877            val o = __offset(110)
   878            return if(o != 0) bb.getLong(o + bb_pos).toULong() else 2UL
   879        }
   880    fun mutateLongEnumNormalDefault(longEnumNormalDefault: ULong) : Boolean {
   881        val o = __offset(110)
   882        return if (o != 0) {
   883            bb.putLong(o + bb_pos, longEnumNormalDefault.toLong())
   884            true
   885        } else {
   886            false
   887        }
   888    }
   889    val nanDefault : Float
   890        get() {
   891            val o = __offset(112)
   892            return if(o != 0) bb.getFloat(o + bb_pos) else Float.NaN
   893        }
   894    fun mutateNanDefault(nanDefault: Float) : Boolean {
   895        val o = __offset(112)
   896        return if (o != 0) {
   897            bb.putFloat(o + bb_pos, nanDefault)
   898            true
   899        } else {
   900            false
   901        }
   902    }
   903    val infDefault : Float
   904        get() {
   905            val o = __offset(114)
   906            return if(o != 0) bb.getFloat(o + bb_pos) else Float.POSITIVE_INFINITY
   907        }
   908    fun mutateInfDefault(infDefault: Float) : Boolean {
   909        val o = __offset(114)
   910        return if (o != 0) {
   911            bb.putFloat(o + bb_pos, infDefault)
   912            true
   913        } else {
   914            false
   915        }
   916    }
   917    val positiveInfDefault : Float
   918        get() {
   919            val o = __offset(116)
   920            return if(o != 0) bb.getFloat(o + bb_pos) else Float.POSITIVE_INFINITY
   921        }
   922    fun mutatePositiveInfDefault(positiveInfDefault: Float) : Boolean {
   923        val o = __offset(116)
   924        return if (o != 0) {
   925            bb.putFloat(o + bb_pos, positiveInfDefault)
   926            true
   927        } else {
   928            false
   929        }
   930    }
   931    val infinityDefault : Float
   932        get() {
   933            val o = __offset(118)
   934            return if(o != 0) bb.getFloat(o + bb_pos) else Float.POSITIVE_INFINITY
   935        }
   936    fun mutateInfinityDefault(infinityDefault: Float) : Boolean {
   937        val o = __offset(118)
   938        return if (o != 0) {
   939            bb.putFloat(o + bb_pos, infinityDefault)
   940            true
   941        } else {
   942            false
   943        }
   944    }
   945    val positiveInfinityDefault : Float
   946        get() {
   947            val o = __offset(120)
   948            return if(o != 0) bb.getFloat(o + bb_pos) else Float.POSITIVE_INFINITY
   949        }
   950    fun mutatePositiveInfinityDefault(positiveInfinityDefault: Float) : Boolean {
   951        val o = __offset(120)
   952        return if (o != 0) {
   953            bb.putFloat(o + bb_pos, positiveInfinityDefault)
   954            true
   955        } else {
   956            false
   957        }
   958    }
   959    val negativeInfDefault : Float
   960        get() {
   961            val o = __offset(122)
   962            return if(o != 0) bb.getFloat(o + bb_pos) else Float.NEGATIVE_INFINITY
   963        }
   964    fun mutateNegativeInfDefault(negativeInfDefault: Float) : Boolean {
   965        val o = __offset(122)
   966        return if (o != 0) {
   967            bb.putFloat(o + bb_pos, negativeInfDefault)
   968            true
   969        } else {
   970            false
   971        }
   972    }
   973    val negativeInfinityDefault : Float
   974        get() {
   975            val o = __offset(124)
   976            return if(o != 0) bb.getFloat(o + bb_pos) else Float.NEGATIVE_INFINITY
   977        }
   978    fun mutateNegativeInfinityDefault(negativeInfinityDefault: Float) : Boolean {
   979        val o = __offset(124)
   980        return if (o != 0) {
   981            bb.putFloat(o + bb_pos, negativeInfinityDefault)
   982            true
   983        } else {
   984            false
   985        }
   986    }
   987    val doubleInfDefault : Double
   988        get() {
   989            val o = __offset(126)
   990            return if(o != 0) bb.getDouble(o + bb_pos) else Double.POSITIVE_INFINITY
   991        }
   992    fun mutateDoubleInfDefault(doubleInfDefault: Double) : Boolean {
   993        val o = __offset(126)
   994        return if (o != 0) {
   995            bb.putDouble(o + bb_pos, doubleInfDefault)
   996            true
   997        } else {
   998            false
   999        }
  1000    }
  1001    override fun keysCompare(o1: Int, o2: Int, _bb: ByteBuffer) : Int {
  1002         return compareStrings(__offset(10, o1, _bb), __offset(10, o2, _bb), _bb)
  1003    }
  1004    companion object {
  1005        fun validateVersion() = Constants.FLATBUFFERS_23_5_26()
  1006        fun getRootAsMonster(_bb: ByteBuffer): Monster = getRootAsMonster(_bb, Monster())
  1007        fun getRootAsMonster(_bb: ByteBuffer, obj: Monster): Monster {
  1008            _bb.order(ByteOrder.LITTLE_ENDIAN)
  1009            return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb))
  1010        }
  1011        fun MonsterBufferHasIdentifier(_bb: ByteBuffer) : Boolean = __has_identifier(_bb, "MONS")
  1012        fun startMonster(builder: FlatBufferBuilder) = builder.startTable(62)
  1013        fun addPos(builder: FlatBufferBuilder, pos: Int) = builder.addStruct(0, pos, 0)
  1014        fun addMana(builder: FlatBufferBuilder, mana: Short) = builder.addShort(1, mana, 150)
  1015        fun addHp(builder: FlatBufferBuilder, hp: Short) = builder.addShort(2, hp, 100)
  1016        fun addName(builder: FlatBufferBuilder, name: Int)  {
  1017            builder.addOffset(name)
  1018            builder.slot(3)
  1019        }
  1020        fun addInventory(builder: FlatBufferBuilder, inventory: Int) = builder.addOffset(5, inventory, 0)
  1021        @kotlin.ExperimentalUnsignedTypes
  1022        fun createInventoryVector(builder: FlatBufferBuilder, data: UByteArray) : Int {
  1023            builder.startVector(1, data.size, 1)
  1024            for (i in data.size - 1 downTo 0) {
  1025                builder.addByte(data[i].toByte())
  1026            }
  1027            return builder.endVector()
  1028        }
  1029        fun startInventoryVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(1, numElems, 1)
  1030        fun addColor(builder: FlatBufferBuilder, color: UByte) = builder.addByte(6, color.toByte(), 8)
  1031        fun addTestType(builder: FlatBufferBuilder, testType: UByte) = builder.addByte(7, testType.toByte(), 0)
  1032        fun addTest(builder: FlatBufferBuilder, test: Int) = builder.addOffset(8, test, 0)
  1033        fun addTest4(builder: FlatBufferBuilder, test4: Int) = builder.addOffset(9, test4, 0)
  1034        fun startTest4Vector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(4, numElems, 2)
  1035        fun addTestarrayofstring(builder: FlatBufferBuilder, testarrayofstring: Int) = builder.addOffset(10, testarrayofstring, 0)
  1036        fun createTestarrayofstringVector(builder: FlatBufferBuilder, data: IntArray) : Int {
  1037            builder.startVector(4, data.size, 4)
  1038            for (i in data.size - 1 downTo 0) {
  1039                builder.addOffset(data[i])
  1040            }
  1041            return builder.endVector()
  1042        }
  1043        fun startTestarrayofstringVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(4, numElems, 4)
  1044        fun addTestarrayoftables(builder: FlatBufferBuilder, testarrayoftables: Int) = builder.addOffset(11, testarrayoftables, 0)
  1045        fun createTestarrayoftablesVector(builder: FlatBufferBuilder, data: IntArray) : Int {
  1046            builder.startVector(4, data.size, 4)
  1047            for (i in data.size - 1 downTo 0) {
  1048                builder.addOffset(data[i])
  1049            }
  1050            return builder.endVector()
  1051        }
  1052        fun startTestarrayoftablesVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(4, numElems, 4)
  1053        fun addEnemy(builder: FlatBufferBuilder, enemy: Int) = builder.addOffset(12, enemy, 0)
  1054        fun addTestnestedflatbuffer(builder: FlatBufferBuilder, testnestedflatbuffer: Int) = builder.addOffset(13, testnestedflatbuffer, 0)
  1055        @kotlin.ExperimentalUnsignedTypes
  1056        fun createTestnestedflatbufferVector(builder: FlatBufferBuilder, data: UByteArray) : Int {
  1057            builder.startVector(1, data.size, 1)
  1058            for (i in data.size - 1 downTo 0) {
  1059                builder.addByte(data[i].toByte())
  1060            }
  1061            return builder.endVector()
  1062        }
  1063        fun startTestnestedflatbufferVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(1, numElems, 1)
  1064        fun addTestempty(builder: FlatBufferBuilder, testempty: Int) = builder.addOffset(14, testempty, 0)
  1065        fun addTestbool(builder: FlatBufferBuilder, testbool: Boolean) = builder.addBoolean(15, testbool, false)
  1066        fun addTesthashs32Fnv1(builder: FlatBufferBuilder, testhashs32Fnv1: Int) = builder.addInt(16, testhashs32Fnv1, 0)
  1067        fun addTesthashu32Fnv1(builder: FlatBufferBuilder, testhashu32Fnv1: UInt) = builder.addInt(17, testhashu32Fnv1.toInt(), 0)
  1068        fun addTesthashs64Fnv1(builder: FlatBufferBuilder, testhashs64Fnv1: Long) = builder.addLong(18, testhashs64Fnv1, 0L)
  1069        fun addTesthashu64Fnv1(builder: FlatBufferBuilder, testhashu64Fnv1: ULong) = builder.addLong(19, testhashu64Fnv1.toLong(), 0)
  1070        fun addTesthashs32Fnv1a(builder: FlatBufferBuilder, testhashs32Fnv1a: Int) = builder.addInt(20, testhashs32Fnv1a, 0)
  1071        fun addTesthashu32Fnv1a(builder: FlatBufferBuilder, testhashu32Fnv1a: UInt) = builder.addInt(21, testhashu32Fnv1a.toInt(), 0)
  1072        fun addTesthashs64Fnv1a(builder: FlatBufferBuilder, testhashs64Fnv1a: Long) = builder.addLong(22, testhashs64Fnv1a, 0L)
  1073        fun addTesthashu64Fnv1a(builder: FlatBufferBuilder, testhashu64Fnv1a: ULong) = builder.addLong(23, testhashu64Fnv1a.toLong(), 0)
  1074        fun addTestarrayofbools(builder: FlatBufferBuilder, testarrayofbools: Int) = builder.addOffset(24, testarrayofbools, 0)
  1075        fun createTestarrayofboolsVector(builder: FlatBufferBuilder, data: BooleanArray) : Int {
  1076            builder.startVector(1, data.size, 1)
  1077            for (i in data.size - 1 downTo 0) {
  1078                builder.addBoolean(data[i])
  1079            }
  1080            return builder.endVector()
  1081        }
  1082        fun startTestarrayofboolsVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(1, numElems, 1)
  1083        fun addTestf(builder: FlatBufferBuilder, testf: Float) = builder.addFloat(25, testf, 3.14159)
  1084        fun addTestf2(builder: FlatBufferBuilder, testf2: Float) = builder.addFloat(26, testf2, 3.0)
  1085        fun addTestf3(builder: FlatBufferBuilder, testf3: Float) = builder.addFloat(27, testf3, 0.0)
  1086        fun addTestarrayofstring2(builder: FlatBufferBuilder, testarrayofstring2: Int) = builder.addOffset(28, testarrayofstring2, 0)
  1087        fun createTestarrayofstring2Vector(builder: FlatBufferBuilder, data: IntArray) : Int {
  1088            builder.startVector(4, data.size, 4)
  1089            for (i in data.size - 1 downTo 0) {
  1090                builder.addOffset(data[i])
  1091            }
  1092            return builder.endVector()
  1093        }
  1094        fun startTestarrayofstring2Vector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(4, numElems, 4)
  1095        fun addTestarrayofsortedstruct(builder: FlatBufferBuilder, testarrayofsortedstruct: Int) = builder.addOffset(29, testarrayofsortedstruct, 0)
  1096        fun startTestarrayofsortedstructVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(8, numElems, 4)
  1097        fun addFlex(builder: FlatBufferBuilder, flex: Int) = builder.addOffset(30, flex, 0)
  1098        @kotlin.ExperimentalUnsignedTypes
  1099        fun createFlexVector(builder: FlatBufferBuilder, data: UByteArray) : Int {
  1100            builder.startVector(1, data.size, 1)
  1101            for (i in data.size - 1 downTo 0) {
  1102                builder.addByte(data[i].toByte())
  1103            }
  1104            return builder.endVector()
  1105        }
  1106        fun startFlexVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(1, numElems, 1)
  1107        fun addTest5(builder: FlatBufferBuilder, test5: Int) = builder.addOffset(31, test5, 0)
  1108        fun startTest5Vector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(4, numElems, 2)
  1109        fun addVectorOfLongs(builder: FlatBufferBuilder, vectorOfLongs: Int) = builder.addOffset(32, vectorOfLongs, 0)
  1110        fun createVectorOfLongsVector(builder: FlatBufferBuilder, data: LongArray) : Int {
  1111            builder.startVector(8, data.size, 8)
  1112            for (i in data.size - 1 downTo 0) {
  1113                builder.addLong(data[i])
  1114            }
  1115            return builder.endVector()
  1116        }
  1117        fun startVectorOfLongsVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(8, numElems, 8)
  1118        fun addVectorOfDoubles(builder: FlatBufferBuilder, vectorOfDoubles: Int) = builder.addOffset(33, vectorOfDoubles, 0)
  1119        fun createVectorOfDoublesVector(builder: FlatBufferBuilder, data: DoubleArray) : Int {
  1120            builder.startVector(8, data.size, 8)
  1121            for (i in data.size - 1 downTo 0) {
  1122                builder.addDouble(data[i])
  1123            }
  1124            return builder.endVector()
  1125        }
  1126        fun startVectorOfDoublesVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(8, numElems, 8)
  1127        fun addParentNamespaceTest(builder: FlatBufferBuilder, parentNamespaceTest: Int) = builder.addOffset(34, parentNamespaceTest, 0)
  1128        fun addVectorOfReferrables(builder: FlatBufferBuilder, vectorOfReferrables: Int) = builder.addOffset(35, vectorOfReferrables, 0)
  1129        fun createVectorOfReferrablesVector(builder: FlatBufferBuilder, data: IntArray) : Int {
  1130            builder.startVector(4, data.size, 4)
  1131            for (i in data.size - 1 downTo 0) {
  1132                builder.addOffset(data[i])
  1133            }
  1134            return builder.endVector()
  1135        }
  1136        fun startVectorOfReferrablesVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(4, numElems, 4)
  1137        fun addSingleWeakReference(builder: FlatBufferBuilder, singleWeakReference: ULong) = builder.addLong(36, singleWeakReference.toLong(), 0)
  1138        fun addVectorOfWeakReferences(builder: FlatBufferBuilder, vectorOfWeakReferences: Int) = builder.addOffset(37, vectorOfWeakReferences, 0)
  1139        @kotlin.ExperimentalUnsignedTypes
  1140        fun createVectorOfWeakReferencesVector(builder: FlatBufferBuilder, data: ULongArray) : Int {
  1141            builder.startVector(8, data.size, 8)
  1142            for (i in data.size - 1 downTo 0) {
  1143                builder.addLong(data[i].toLong())
  1144            }
  1145            return builder.endVector()
  1146        }
  1147        fun startVectorOfWeakReferencesVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(8, numElems, 8)
  1148        fun addVectorOfStrongReferrables(builder: FlatBufferBuilder, vectorOfStrongReferrables: Int) = builder.addOffset(38, vectorOfStrongReferrables, 0)
  1149        fun createVectorOfStrongReferrablesVector(builder: FlatBufferBuilder, data: IntArray) : Int {
  1150            builder.startVector(4, data.size, 4)
  1151            for (i in data.size - 1 downTo 0) {
  1152                builder.addOffset(data[i])
  1153            }
  1154            return builder.endVector()
  1155        }
  1156        fun startVectorOfStrongReferrablesVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(4, numElems, 4)
  1157        fun addCoOwningReference(builder: FlatBufferBuilder, coOwningReference: ULong) = builder.addLong(39, coOwningReference.toLong(), 0)
  1158        fun addVectorOfCoOwningReferences(builder: FlatBufferBuilder, vectorOfCoOwningReferences: Int) = builder.addOffset(40, vectorOfCoOwningReferences, 0)
  1159        @kotlin.ExperimentalUnsignedTypes
  1160        fun createVectorOfCoOwningReferencesVector(builder: FlatBufferBuilder, data: ULongArray) : Int {
  1161            builder.startVector(8, data.size, 8)
  1162            for (i in data.size - 1 downTo 0) {
  1163                builder.addLong(data[i].toLong())
  1164            }
  1165            return builder.endVector()
  1166        }
  1167        fun startVectorOfCoOwningReferencesVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(8, numElems, 8)
  1168        fun addNonOwningReference(builder: FlatBufferBuilder, nonOwningReference: ULong) = builder.addLong(41, nonOwningReference.toLong(), 0)
  1169        fun addVectorOfNonOwningReferences(builder: FlatBufferBuilder, vectorOfNonOwningReferences: Int) = builder.addOffset(42, vectorOfNonOwningReferences, 0)
  1170        @kotlin.ExperimentalUnsignedTypes
  1171        fun createVectorOfNonOwningReferencesVector(builder: FlatBufferBuilder, data: ULongArray) : Int {
  1172            builder.startVector(8, data.size, 8)
  1173            for (i in data.size - 1 downTo 0) {
  1174                builder.addLong(data[i].toLong())
  1175            }
  1176            return builder.endVector()
  1177        }
  1178        fun startVectorOfNonOwningReferencesVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(8, numElems, 8)
  1179        fun addAnyUniqueType(builder: FlatBufferBuilder, anyUniqueType: UByte) = builder.addByte(43, anyUniqueType.toByte(), 0)
  1180        fun addAnyUnique(builder: FlatBufferBuilder, anyUnique: Int) = builder.addOffset(44, anyUnique, 0)
  1181        fun addAnyAmbiguousType(builder: FlatBufferBuilder, anyAmbiguousType: UByte) = builder.addByte(45, anyAmbiguousType.toByte(), 0)
  1182        fun addAnyAmbiguous(builder: FlatBufferBuilder, anyAmbiguous: Int) = builder.addOffset(46, anyAmbiguous, 0)
  1183        fun addVectorOfEnums(builder: FlatBufferBuilder, vectorOfEnums: Int) = builder.addOffset(47, vectorOfEnums, 0)
  1184        @kotlin.ExperimentalUnsignedTypes
  1185        fun createVectorOfEnumsVector(builder: FlatBufferBuilder, data: UByteArray) : Int {
  1186            builder.startVector(1, data.size, 1)
  1187            for (i in data.size - 1 downTo 0) {
  1188                builder.addByte(data[i].toByte())
  1189            }
  1190            return builder.endVector()
  1191        }
  1192        fun startVectorOfEnumsVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(1, numElems, 1)
  1193        fun addSignedEnum(builder: FlatBufferBuilder, signedEnum: Byte) = builder.addByte(48, signedEnum, -1)
  1194        fun addTestrequirednestedflatbuffer(builder: FlatBufferBuilder, testrequirednestedflatbuffer: Int) = builder.addOffset(49, testrequirednestedflatbuffer, 0)
  1195        @kotlin.ExperimentalUnsignedTypes
  1196        fun createTestrequirednestedflatbufferVector(builder: FlatBufferBuilder, data: UByteArray) : Int {
  1197            builder.startVector(1, data.size, 1)
  1198            for (i in data.size - 1 downTo 0) {
  1199                builder.addByte(data[i].toByte())
  1200            }
  1201            return builder.endVector()
  1202        }
  1203        fun startTestrequirednestedflatbufferVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(1, numElems, 1)
  1204        fun addScalarKeySortedTables(builder: FlatBufferBuilder, scalarKeySortedTables: Int) = builder.addOffset(50, scalarKeySortedTables, 0)
  1205        fun createScalarKeySortedTablesVector(builder: FlatBufferBuilder, data: IntArray) : Int {
  1206            builder.startVector(4, data.size, 4)
  1207            for (i in data.size - 1 downTo 0) {
  1208                builder.addOffset(data[i])
  1209            }
  1210            return builder.endVector()
  1211        }
  1212        fun startScalarKeySortedTablesVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(4, numElems, 4)
  1213        fun addNativeInline(builder: FlatBufferBuilder, nativeInline: Int) = builder.addStruct(51, nativeInline, 0)
  1214        fun addLongEnumNonEnumDefault(builder: FlatBufferBuilder, longEnumNonEnumDefault: ULong) = builder.addLong(52, longEnumNonEnumDefault.toLong(), 0)
  1215        fun addLongEnumNormalDefault(builder: FlatBufferBuilder, longEnumNormalDefault: ULong) = builder.addLong(53, longEnumNormalDefault.toLong(), 2)
  1216        fun addNanDefault(builder: FlatBufferBuilder, nanDefault: Float) = builder.addFloat(54, nanDefault, Double.NaN)
  1217        fun addInfDefault(builder: FlatBufferBuilder, infDefault: Float) = builder.addFloat(55, infDefault, Double.POSITIVE_INFINITY)
  1218        fun addPositiveInfDefault(builder: FlatBufferBuilder, positiveInfDefault: Float) = builder.addFloat(56, positiveInfDefault, Double.POSITIVE_INFINITY)
  1219        fun addInfinityDefault(builder: FlatBufferBuilder, infinityDefault: Float) = builder.addFloat(57, infinityDefault, Double.POSITIVE_INFINITY)
  1220        fun addPositiveInfinityDefault(builder: FlatBufferBuilder, positiveInfinityDefault: Float) = builder.addFloat(58, positiveInfinityDefault, Double.POSITIVE_INFINITY)
  1221        fun addNegativeInfDefault(builder: FlatBufferBuilder, negativeInfDefault: Float) = builder.addFloat(59, negativeInfDefault, Double.NEGATIVE_INFINITY)
  1222        fun addNegativeInfinityDefault(builder: FlatBufferBuilder, negativeInfinityDefault: Float) = builder.addFloat(60, negativeInfinityDefault, Double.NEGATIVE_INFINITY)
  1223        fun addDoubleInfDefault(builder: FlatBufferBuilder, doubleInfDefault: Double) = builder.addDouble(61, doubleInfDefault, Double.POSITIVE_INFINITY)
  1224        fun endMonster(builder: FlatBufferBuilder) : Int {
  1225            val o = builder.endTable()
  1226                builder.required(o, 10)
  1227            return o
  1228        }
  1229        fun finishMonsterBuffer(builder: FlatBufferBuilder, offset: Int) = builder.finish(offset, "MONS")
  1230        fun finishSizePrefixedMonsterBuffer(builder: FlatBufferBuilder, offset: Int) = builder.finishSizePrefixed(offset, "MONS")
  1231        fun __lookup_by_key(obj: Monster?, vectorLocation: Int, key: String, bb: ByteBuffer) : Monster? {
  1232            val byteKey = key.toByteArray(java.nio.charset.StandardCharsets.UTF_8)
  1233            var span = bb.getInt(vectorLocation - 4)
  1234            var start = 0
  1235            while (span != 0) {
  1236                var middle = span / 2
  1237                val tableOffset = __indirect(vectorLocation + 4 * (start + middle), bb)
  1238                val comp = compareStrings(__offset(10, bb.capacity() - tableOffset, bb), byteKey, bb)
  1239                when {
  1240                    comp > 0 -> span = middle
  1241                    comp < 0 -> {
  1242                        middle++
  1243                        start += middle
  1244                        span -= middle
  1245                    }
  1246                    else -> {
  1247                        return (obj ?: Monster()).__assign(tableOffset, bb)
  1248                    }
  1249                }
  1250            }
  1251            return null
  1252        }
  1253    }
  1254}

View as plain text