// automatically generated by the FlatBuffers compiler, do not modify @file:OptIn(kotlin.ExperimentalUnsignedTypes::class) package link.roadio.riff.state.fbs import com.google.flatbuffers.kotlin.* import kotlin.jvm.JvmInline @Suppress("unused") class StateManifest : Table() { fun init(i: Int, buffer: ReadWriteBuffer) : StateManifest = reset(i, buffer) val formatVersion : UInt get() = lookupField(4, 0u ) { bb.getUInt(it + bufferPos) } val rootId : ULong? get() = lookupField(6, null ) { bb.getULong(it + bufferPos) } fun files(j: Int) : link.roadio.riff.state.fbs.FileRef? = files(link.roadio.riff.state.fbs.FileRef(), j) fun files(obj: link.roadio.riff.state.fbs.FileRef, j: Int) : link.roadio.riff.state.fbs.FileRef? = lookupField(8, null ) { obj.init(indirect(vector(it) + j * 4), bb) } val filesLength : Int get() = lookupField(8, 0 ) { vectorLength(it) } companion object { fun validateVersion() = VERSION_2_0_8 fun asRoot(buffer: ReadWriteBuffer) : StateManifest = asRoot(buffer, StateManifest()) fun asRoot(buffer: ReadWriteBuffer, obj: StateManifest) : StateManifest = obj.init(buffer.getInt(buffer.limit) + buffer.limit, buffer) fun StateManifestBufferHasIdentifier(buffer: ReadWriteBuffer) : Boolean = hasIdentifier(buffer, "SMNF") fun createStateManifest(builder: FlatBufferBuilder, formatVersion: UInt, rootId: ULong?, filesOffset: VectorOffset) : Offset { builder.startTable(3) rootId?.run { addRootId(builder, rootId) } addFiles(builder, filesOffset) addFormatVersion(builder, formatVersion) return endStateManifest(builder) } fun startStateManifest(builder: FlatBufferBuilder) = builder.startTable(3) fun addFormatVersion(builder: FlatBufferBuilder, formatVersion: UInt) = builder.add(0, formatVersion, 0u) fun addRootId(builder: FlatBufferBuilder, rootId: ULong) = builder.add(1, rootId, null) fun addFiles(builder: FlatBufferBuilder, files: VectorOffset) = builder.add(2, files, 0) fun createFilesVector(builder: FlatBufferBuilder, vector:link.roadio.riff.state.fbs.FileRefOffsetArray) : VectorOffset { builder.startVector(4, vector.size, 4) for (i in vector.size - 1 downTo 0) { builder.add(vector[i]) } return builder.endVector() } fun startFilesVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(4, numElems, 4) fun endStateManifest(builder: FlatBufferBuilder) : Offset { val o: Offset = builder.endTable() builder.required(o, 8, "files") return o } fun finishStateManifestBuffer(builder: FlatBufferBuilder, offset: Offset) = builder.finish(offset, "SMNF") fun finishSizePrefixedStateManifestBuffer(builder: FlatBufferBuilder, offset: Offset) = builder.finishSizePrefixed(offset, "SMNF") } } typealias StateManifestOffsetArray = OffsetArray inline fun StateManifestOffsetArray(size: Int, crossinline call: (Int) -> Offset): StateManifestOffsetArray = StateManifestOffsetArray(IntArray(size) { call(it).value })