1 // automatically generated by the FlatBuffers compiler, do not modify 2 // swiftlint:disable all 3 // swiftformat:disable all 4 5 import FlatBuffers 6 7 public enum Character: UInt8, Enum { 8 public typealias T = UInt8 9 public static var byteSize: Int { return MemoryLayout<UInt8>.size } 10 public var value: UInt8 { return self.rawValue } 11 case none_ = 0 12 case mulan = 1 13 case rapunzel = 2 14 case belle = 3 15 case bookfan = 4 16 case other = 5 17 case unused = 6 18 19 20 public static var max: Character { return .unused } 21 public static var min: Character { return .none_ } 22 } 23 24 public struct CharacterUnion { 25 public var type: Character 26 public var value: NativeObject? 27 public init(_ v: NativeObject?, type: Character) { 28 self.type = type 29 self.value = v 30 } packnull31 public func pack(builder: inout FlatBufferBuilder) -> Offset { 32 switch type { 33 case .mulan: 34 var __obj = value as? AttackerT 35 return Attacker.pack(&builder, obj: &__obj) 36 case .rapunzel: 37 var __obj = value as? Rapunzel 38 return Rapunzel_Mutable.pack(&builder, obj: &__obj) 39 case .belle: 40 var __obj = value as? BookReader 41 return BookReader_Mutable.pack(&builder, obj: &__obj) 42 case .bookfan: 43 var __obj = value as? BookReader 44 return BookReader_Mutable.pack(&builder, obj: &__obj) 45 case .other: 46 var __obj = value as? String 47 return String.pack(&builder, obj: &__obj) 48 case .unused: 49 var __obj = value as? String 50 return String.pack(&builder, obj: &__obj) 51 default: return Offset() 52 } 53 } 54 } 55 public struct Rapunzel: NativeStruct, NativeObject { 56 validateVersionnull57 static func validateVersion() { FlatBuffersVersion_2_0_0() } 58 59 private var _hairLength: Int32 60 61 public init(hairLength: Int32) { 62 _hairLength = hairLength 63 } 64 65 public init() { 66 _hairLength = 0 67 } 68 69 public init(_ _t: inout Rapunzel_Mutable) { 70 _hairLength = _t.hairLength 71 } 72 73 public var hairLength: Int32 { _hairLength } 74 } 75 76 public struct Rapunzel_Mutable: FlatBufferObject { 77 validateVersionnull78 static func validateVersion() { FlatBuffersVersion_2_0_0() } 79 public var __buffer: ByteBuffer! { return _accessor.bb } 80 private var _accessor: Struct 81 82 public init(_ bb: ByteBuffer, o: Int32) { _accessor = Struct(bb: bb, position: o) } 83 84 public var hairLength: Int32 { return _accessor.readBuffer(of: Int32.self, at: 0) } mutatenull85 @discardableResult public func mutate(hairLength: Int32) -> Bool { return _accessor.mutate(hairLength, index: 0) } 86 87 unpacknull88 public mutating func unpack() -> Rapunzel { 89 return Rapunzel(&self) 90 } packnull91 public static func pack(_ builder: inout FlatBufferBuilder, obj: inout Rapunzel?) -> Offset { 92 guard var obj = obj else { return Offset() } 93 return pack(&builder, obj: &obj) 94 } 95 packnull96 public static func pack(_ builder: inout FlatBufferBuilder, obj: inout Rapunzel) -> Offset { 97 return builder.create(struct: obj) 98 } 99 } 100 101 public struct BookReader: NativeStruct, NativeObject { 102 validateVersionnull103 static func validateVersion() { FlatBuffersVersion_2_0_0() } 104 105 private var _booksRead: Int32 106 107 public init(booksRead: Int32) { 108 _booksRead = booksRead 109 } 110 111 public init() { 112 _booksRead = 0 113 } 114 115 public init(_ _t: inout BookReader_Mutable) { 116 _booksRead = _t.booksRead 117 } 118 119 public var booksRead: Int32 { _booksRead } 120 } 121 122 public struct BookReader_Mutable: FlatBufferObject { 123 validateVersionnull124 static func validateVersion() { FlatBuffersVersion_2_0_0() } 125 public var __buffer: ByteBuffer! { return _accessor.bb } 126 private var _accessor: Struct 127 128 public init(_ bb: ByteBuffer, o: Int32) { _accessor = Struct(bb: bb, position: o) } 129 130 public var booksRead: Int32 { return _accessor.readBuffer(of: Int32.self, at: 0) } mutatenull131 @discardableResult public func mutate(booksRead: Int32) -> Bool { return _accessor.mutate(booksRead, index: 0) } 132 133 unpacknull134 public mutating func unpack() -> BookReader { 135 return BookReader(&self) 136 } packnull137 public static func pack(_ builder: inout FlatBufferBuilder, obj: inout BookReader?) -> Offset { 138 guard var obj = obj else { return Offset() } 139 return pack(&builder, obj: &obj) 140 } 141 packnull142 public static func pack(_ builder: inout FlatBufferBuilder, obj: inout BookReader) -> Offset { 143 return builder.create(struct: obj) 144 } 145 } 146 147 public struct Attacker: FlatBufferObject, ObjectAPIPacker { 148 validateVersionnull149 static func validateVersion() { FlatBuffersVersion_2_0_0() } 150 public var __buffer: ByteBuffer! { return _accessor.bb } 151 private var _accessor: Table 152 finishnull153 public static func finish(_ fbb: inout FlatBufferBuilder, end: Offset, prefix: Bool = false) { fbb.finish(offset: end, fileId: "MOVI", addPrefix: prefix) } getRootAsAttackernull154 public static func getRootAsAttacker(bb: ByteBuffer) -> Attacker { return Attacker(Table(bb: bb, position: Int32(bb.read(def: UOffset.self, position: bb.reader)) + Int32(bb.reader))) } 155 156 private init(_ t: Table) { _accessor = t } 157 public init(_ bb: ByteBuffer, o: Int32) { _accessor = Table(bb: bb, position: o) } 158 159 private enum VTOFFSET: VOffset { 160 case swordAttackDamage = 4 161 var v: Int32 { Int32(self.rawValue) } 162 var p: VOffset { self.rawValue } 163 } 164 165 public var swordAttackDamage: Int32 { let o = _accessor.offset(VTOFFSET.swordAttackDamage.v); return o == 0 ? 0 : _accessor.readBuffer(of: Int32.self, at: o) } mutatenull166 @discardableResult public func mutate(swordAttackDamage: Int32) -> Bool {let o = _accessor.offset(VTOFFSET.swordAttackDamage.v); return _accessor.mutate(swordAttackDamage, index: o) } startAttackernull167 public static func startAttacker(_ fbb: inout FlatBufferBuilder) -> UOffset { fbb.startTable(with: 1) } addnull168 public static func add(swordAttackDamage: Int32, _ fbb: inout FlatBufferBuilder) { fbb.add(element: swordAttackDamage, def: 0, at: VTOFFSET.swordAttackDamage.p) } endAttackernull169 public static func endAttacker(_ fbb: inout FlatBufferBuilder, start: UOffset) -> Offset { let end = Offset(offset: fbb.endTable(at: start)); return end } 170 public static func createAttacker( 171 _ fbb: inout FlatBufferBuilder, 172 swordAttackDamage: Int32 = 0 173 ) -> Offset { 174 let __start = Attacker.startAttacker(&fbb) 175 Attacker.add(swordAttackDamage: swordAttackDamage, &fbb) 176 return Attacker.endAttacker(&fbb, start: __start) 177 } 178 179 unpacknull180 public mutating func unpack() -> AttackerT { 181 return AttackerT(&self) 182 } packnull183 public static func pack(_ builder: inout FlatBufferBuilder, obj: inout AttackerT?) -> Offset { 184 guard var obj = obj else { return Offset() } 185 return pack(&builder, obj: &obj) 186 } 187 packnull188 public static func pack(_ builder: inout FlatBufferBuilder, obj: inout AttackerT) -> Offset { 189 let __root = Attacker.startAttacker(&builder) 190 Attacker.add(swordAttackDamage: obj.swordAttackDamage, &builder) 191 return Attacker.endAttacker(&builder, start: __root) 192 } 193 } 194 195 public class AttackerT: NativeObject { 196 197 public var swordAttackDamage: Int32 198 199 public init(_ _t: inout Attacker) { 200 swordAttackDamage = _t.swordAttackDamage 201 } 202 203 public init() { 204 swordAttackDamage = 0 205 } 206 serializenull207 public func serialize() -> ByteBuffer { return serialize(type: Attacker.self) } 208 209 } 210 public struct Movie: FlatBufferObject, ObjectAPIPacker { 211 validateVersionnull212 static func validateVersion() { FlatBuffersVersion_2_0_0() } 213 public var __buffer: ByteBuffer! { return _accessor.bb } 214 private var _accessor: Table 215 finishnull216 public static func finish(_ fbb: inout FlatBufferBuilder, end: Offset, prefix: Bool = false) { fbb.finish(offset: end, fileId: "MOVI", addPrefix: prefix) } getRootAsMovienull217 public static func getRootAsMovie(bb: ByteBuffer) -> Movie { return Movie(Table(bb: bb, position: Int32(bb.read(def: UOffset.self, position: bb.reader)) + Int32(bb.reader))) } 218 219 private init(_ t: Table) { _accessor = t } 220 public init(_ bb: ByteBuffer, o: Int32) { _accessor = Table(bb: bb, position: o) } 221 222 private enum VTOFFSET: VOffset { 223 case mainCharacterType = 4 224 case mainCharacter = 6 225 case charactersType = 8 226 case characters = 10 227 var v: Int32 { Int32(self.rawValue) } 228 var p: VOffset { self.rawValue } 229 } 230 231 public var mainCharacterType: Character { let o = _accessor.offset(VTOFFSET.mainCharacterType.v); return o == 0 ? .none_ : Character(rawValue: _accessor.readBuffer(of: UInt8.self, at: o)) ?? .none_ } mainCharacter<T: FlatbuffersInitializable>null232 public func mainCharacter<T: FlatbuffersInitializable>(type: T.Type) -> T? { let o = _accessor.offset(VTOFFSET.mainCharacter.v); return o == 0 ? nil : _accessor.union(o) } 233 public var charactersTypeCount: Int32 { let o = _accessor.offset(VTOFFSET.charactersType.v); return o == 0 ? 0 : _accessor.vector(count: o) } charactersTypenull234 public func charactersType(at index: Int32) -> Character? { let o = _accessor.offset(VTOFFSET.charactersType.v); return o == 0 ? Character.none_ : Character(rawValue: _accessor.directRead(of: UInt8.self, offset: _accessor.vector(at: o) + index * 1)) } 235 public var charactersCount: Int32 { let o = _accessor.offset(VTOFFSET.characters.v); return o == 0 ? 0 : _accessor.vector(count: o) } characters<T: FlatbuffersInitializable>null236 public func characters<T: FlatbuffersInitializable>(at index: Int32, type: T.Type) -> T? { let o = _accessor.offset(VTOFFSET.characters.v); return o == 0 ? nil : _accessor.directUnion(_accessor.vector(at: o) + index * 4) } startMovienull237 public static func startMovie(_ fbb: inout FlatBufferBuilder) -> UOffset { fbb.startTable(with: 4) } addnull238 public static func add(mainCharacterType: Character, _ fbb: inout FlatBufferBuilder) { fbb.add(element: mainCharacterType.rawValue, def: 0, at: VTOFFSET.mainCharacterType.p) } addnull239 public static func add(mainCharacter: Offset, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: mainCharacter, at: VTOFFSET.mainCharacter.p) } addVectorOfnull240 public static func addVectorOf(charactersType: Offset, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: charactersType, at: VTOFFSET.charactersType.p) } addVectorOfnull241 public static func addVectorOf(characters: Offset, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: characters, at: VTOFFSET.characters.p) } endMovienull242 public static func endMovie(_ fbb: inout FlatBufferBuilder, start: UOffset) -> Offset { let end = Offset(offset: fbb.endTable(at: start)); return end } 243 public static func createMovie( 244 _ fbb: inout FlatBufferBuilder, 245 mainCharacterType: Character = .none_, 246 mainCharacterOffset mainCharacter: Offset = Offset(), 247 charactersTypeVectorOffset charactersType: Offset = Offset(), 248 charactersVectorOffset characters: Offset = Offset() 249 ) -> Offset { 250 let __start = Movie.startMovie(&fbb) 251 Movie.add(mainCharacterType: mainCharacterType, &fbb) 252 Movie.add(mainCharacter: mainCharacter, &fbb) 253 Movie.addVectorOf(charactersType: charactersType, &fbb) 254 Movie.addVectorOf(characters: characters, &fbb) 255 return Movie.endMovie(&fbb, start: __start) 256 } 257 258 unpacknull259 public mutating func unpack() -> MovieT { 260 return MovieT(&self) 261 } packnull262 public static func pack(_ builder: inout FlatBufferBuilder, obj: inout MovieT?) -> Offset { 263 guard var obj = obj else { return Offset() } 264 return pack(&builder, obj: &obj) 265 } 266 packnull267 public static func pack(_ builder: inout FlatBufferBuilder, obj: inout MovieT) -> Offset { 268 let __mainCharacter = obj.mainCharacter?.pack(builder: &builder) ?? Offset() 269 var __characters__: [Offset] = [] 270 for i in obj.characters { 271 guard let off = i?.pack(builder: &builder) else { continue } 272 __characters__.append(off) 273 } 274 let __characters = builder.createVector(ofOffsets: __characters__) 275 let __charactersType = builder.createVector(obj.characters.compactMap { $0?.type }) 276 let __root = Movie.startMovie(&builder) 277 if let o = obj.mainCharacter?.type { 278 Movie.add(mainCharacterType: o, &builder) 279 Movie.add(mainCharacter: __mainCharacter, &builder) 280 } 281 282 Movie.addVectorOf(charactersType: __charactersType, &builder) 283 Movie.addVectorOf(characters: __characters, &builder) 284 return Movie.endMovie(&builder, start: __root) 285 } 286 } 287 288 public class MovieT: NativeObject { 289 290 public var mainCharacter: CharacterUnion? 291 public var characters: [CharacterUnion?] 292 293 public init(_ _t: inout Movie) { 294 switch _t.mainCharacterType { 295 case .mulan: 296 var _v = _t.mainCharacter(type: Attacker.self) 297 mainCharacter = CharacterUnion(_v?.unpack(), type: .mulan) 298 case .rapunzel: 299 var _v = _t.mainCharacter(type: Rapunzel_Mutable.self) 300 mainCharacter = CharacterUnion(_v?.unpack(), type: .rapunzel) 301 case .belle: 302 var _v = _t.mainCharacter(type: BookReader_Mutable.self) 303 mainCharacter = CharacterUnion(_v?.unpack(), type: .belle) 304 case .bookfan: 305 var _v = _t.mainCharacter(type: BookReader_Mutable.self) 306 mainCharacter = CharacterUnion(_v?.unpack(), type: .bookfan) 307 case .other: 308 var _v = _t.mainCharacter(type: String.self) 309 mainCharacter = CharacterUnion(_v?.unpack(), type: .other) 310 case .unused: 311 var _v = _t.mainCharacter(type: String.self) 312 mainCharacter = CharacterUnion(_v?.unpack(), type: .unused) 313 default: break 314 } 315 characters = [] 316 for index in 0..<_t.charactersCount { 317 switch _t.charactersType(at: index) { 318 case .mulan: 319 var _v = _t.characters(at: index, type: Attacker.self) 320 characters.append(CharacterUnion(_v?.unpack(), type: .mulan)) 321 case .rapunzel: 322 var _v = _t.characters(at: index, type: Rapunzel_Mutable.self) 323 characters.append(CharacterUnion(_v?.unpack(), type: .rapunzel)) 324 case .belle: 325 var _v = _t.characters(at: index, type: BookReader_Mutable.self) 326 characters.append(CharacterUnion(_v?.unpack(), type: .belle)) 327 case .bookfan: 328 var _v = _t.characters(at: index, type: BookReader_Mutable.self) 329 characters.append(CharacterUnion(_v?.unpack(), type: .bookfan)) 330 case .other: 331 var _v = _t.characters(at: index, type: String.self) 332 characters.append(CharacterUnion(_v?.unpack(), type: .other)) 333 case .unused: 334 var _v = _t.characters(at: index, type: String.self) 335 characters.append(CharacterUnion(_v?.unpack(), type: .unused)) 336 default: break 337 } 338 } 339 } 340 341 public init() { 342 characters = [] 343 } 344 serializenull345 public func serialize() -> ByteBuffer { return serialize(type: Movie.self) } 346 347 } 348