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 struct Swift_Tests_Vectors: FlatBufferObject, Verifiable {
8 
validateVersionnull9   static func validateVersion() { FlatBuffersVersion_2_0_0() }
10   public var __buffer: ByteBuffer! { return _accessor.bb }
11   private var _accessor: Table
12 
getRootAsVectorsnull13   public static func getRootAsVectors(bb: ByteBuffer) -> Swift_Tests_Vectors { return Swift_Tests_Vectors(Table(bb: bb, position: Int32(bb.read(def: UOffset.self, position: bb.reader)) + Int32(bb.reader))) }
14 
15   private init(_ t: Table) { _accessor = t }
16   public init(_ bb: ByteBuffer, o: Int32) { _accessor = Table(bb: bb, position: o) }
17 
18   private enum VTOFFSET: VOffset {
19     case none_ = 4
20     case empty = 6
21     case array = 8
22     var v: Int32 { Int32(self.rawValue) }
23     var p: VOffset { self.rawValue }
24   }
25 
26   public var hasNone: Bool { let o = _accessor.offset(VTOFFSET.none_.v); return o == 0 ? false : true }
27   public var none_Count: Int32 { let o = _accessor.offset(VTOFFSET.none_.v); return o == 0 ? 0 : _accessor.vector(count: o) }
none_null28   public func none_(at index: Int32) -> UInt64 { let o = _accessor.offset(VTOFFSET.none_.v); return o == 0 ? 0 : _accessor.directRead(of: UInt64.self, offset: _accessor.vector(at: o) + index * 8) }
29   public var none_: [UInt64] { return _accessor.getVector(at: VTOFFSET.none_.v) ?? [] }
30   public var hasEmpty: Bool { let o = _accessor.offset(VTOFFSET.empty.v); return o == 0 ? false : true }
31   public var emptyCount: Int32 { let o = _accessor.offset(VTOFFSET.empty.v); return o == 0 ? 0 : _accessor.vector(count: o) }
emptynull32   public func empty(at index: Int32) -> UInt64 { let o = _accessor.offset(VTOFFSET.empty.v); return o == 0 ? 0 : _accessor.directRead(of: UInt64.self, offset: _accessor.vector(at: o) + index * 8) }
33   public var empty: [UInt64] { return _accessor.getVector(at: VTOFFSET.empty.v) ?? [] }
34   public var hasArray: Bool { let o = _accessor.offset(VTOFFSET.array.v); return o == 0 ? false : true }
35   public var arrayCount: Int32 { let o = _accessor.offset(VTOFFSET.array.v); return o == 0 ? 0 : _accessor.vector(count: o) }
arraynull36   public func array(at index: Int32) -> UInt64 { let o = _accessor.offset(VTOFFSET.array.v); return o == 0 ? 0 : _accessor.directRead(of: UInt64.self, offset: _accessor.vector(at: o) + index * 8) }
37   public var array: [UInt64] { return _accessor.getVector(at: VTOFFSET.array.v) ?? [] }
startVectorsnull38   public static func startVectors(_ fbb: inout FlatBufferBuilder) -> UOffset { fbb.startTable(with: 3) }
addVectorOfnull39   public static func addVectorOf(none_: Offset, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: none_, at: VTOFFSET.none_.p) }
addVectorOfnull40   public static func addVectorOf(empty: Offset, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: empty, at: VTOFFSET.empty.p) }
addVectorOfnull41   public static func addVectorOf(array: Offset, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: array, at: VTOFFSET.array.p) }
endVectorsnull42   public static func endVectors(_ fbb: inout FlatBufferBuilder, start: UOffset) -> Offset { let end = Offset(offset: fbb.endTable(at: start)); return end }
43   public static func createVectors(
44     _ fbb: inout FlatBufferBuilder,
45     none_VectorOffset none_: Offset = Offset(),
46     emptyVectorOffset empty: Offset = Offset(),
47     arrayVectorOffset array: Offset = Offset()
48   ) -> Offset {
49     let __start = Swift_Tests_Vectors.startVectors(&fbb)
50     Swift_Tests_Vectors.addVectorOf(none_: none_, &fbb)
51     Swift_Tests_Vectors.addVectorOf(empty: empty, &fbb)
52     Swift_Tests_Vectors.addVectorOf(array: array, &fbb)
53     return Swift_Tests_Vectors.endVectors(&fbb, start: __start)
54   }
55 
verify<T>null56   public static func verify<T>(_ verifier: inout Verifier, at position: Int, of type: T.Type) throws where T: Verifiable {
57     var _v = try verifier.visitTable(at: position)
58     try _v.visit(field: VTOFFSET.none_.p, fieldName: "none_", required: false, type: ForwardOffset<Vector<UInt64, UInt64>>.self)
59     try _v.visit(field: VTOFFSET.empty.p, fieldName: "empty", required: false, type: ForwardOffset<Vector<UInt64, UInt64>>.self)
60     try _v.visit(field: VTOFFSET.array.p, fieldName: "array", required: false, type: ForwardOffset<Vector<UInt64, UInt64>>.self)
61     _v.finish()
62   }
63 }
64 
65 extension Swift_Tests_Vectors: Encodable {
66 
67   enum CodingKeys: String, CodingKey {
68     case none_ = "none"
69     case empty = "empty"
70     case array = "array"
71   }
encodenull72   public func encode(to encoder: Encoder) throws {
73     var container = encoder.container(keyedBy: CodingKeys.self)
74     if none_Count > 0 {
75       try container.encodeIfPresent(none_, forKey: .none_)
76     }
77     if emptyCount > 0 {
78       try container.encodeIfPresent(empty, forKey: .empty)
79     }
80     if arrayCount > 0 {
81       try container.encodeIfPresent(array, forKey: .array)
82     }
83   }
84 }
85 
86