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 ABC: Int32, Enum, Verifiable {
8   public typealias T = Int32
9   public static var byteSize: Int { return MemoryLayout<Int32>.size }
10   public var value: Int32 { return self.rawValue }
11   case a = 0
12   case b = 1
13   case c = 2
14 
15   public static var max: ABC { return .c }
16   public static var min: ABC { return .a }
17 }
18 
19 extension ABC: Encodable {
encodenull20   public func encode(to encoder: Encoder) throws {
21     var container = encoder.singleValueContainer()
22     switch self {
23     case .a: try container.encode("A")
24     case .b: try container.encode("B")
25     case .c: try container.encode("C")
26     }
27   }
28 }
29 
30 public struct MoreDefaults: FlatBufferObject, Verifiable, ObjectAPIPacker {
31 
validateVersionnull32   static func validateVersion() { FlatBuffersVersion_2_0_0() }
33   public var __buffer: ByteBuffer! { return _accessor.bb }
34   private var _accessor: Table
35 
getRootAsMoreDefaultsnull36   public static func getRootAsMoreDefaults(bb: ByteBuffer) -> MoreDefaults { return MoreDefaults(Table(bb: bb, position: Int32(bb.read(def: UOffset.self, position: bb.reader)) + Int32(bb.reader))) }
37 
38   private init(_ t: Table) { _accessor = t }
39   public init(_ bb: ByteBuffer, o: Int32) { _accessor = Table(bb: bb, position: o) }
40 
41   private enum VTOFFSET: VOffset {
42     case ints = 4
43     case floats = 6
44     case emptyString = 8
45     case someString = 10
46     case abcs = 12
47     case bools = 14
48     var v: Int32 { Int32(self.rawValue) }
49     var p: VOffset { self.rawValue }
50   }
51 
52   public var hasInts: Bool { let o = _accessor.offset(VTOFFSET.ints.v); return o == 0 ? false : true }
53   public var intsCount: Int32 { let o = _accessor.offset(VTOFFSET.ints.v); return o == 0 ? 0 : _accessor.vector(count: o) }
intsnull54   public func ints(at index: Int32) -> Int32 { let o = _accessor.offset(VTOFFSET.ints.v); return o == 0 ? 0 : _accessor.directRead(of: Int32.self, offset: _accessor.vector(at: o) + index * 4) }
55   public var ints: [Int32] { return _accessor.getVector(at: VTOFFSET.ints.v) ?? [] }
56   public var hasFloats: Bool { let o = _accessor.offset(VTOFFSET.floats.v); return o == 0 ? false : true }
57   public var floatsCount: Int32 { let o = _accessor.offset(VTOFFSET.floats.v); return o == 0 ? 0 : _accessor.vector(count: o) }
floatsnull58   public func floats(at index: Int32) -> Float32 { let o = _accessor.offset(VTOFFSET.floats.v); return o == 0 ? 0 : _accessor.directRead(of: Float32.self, offset: _accessor.vector(at: o) + index * 4) }
59   public var floats: [Float32] { return _accessor.getVector(at: VTOFFSET.floats.v) ?? [] }
60   public var emptyString: String? { let o = _accessor.offset(VTOFFSET.emptyString.v); return o == 0 ? "" : _accessor.string(at: o) }
61   public var emptyStringSegmentArray: [UInt8]? { return _accessor.getVector(at: VTOFFSET.emptyString.v) }
62   public var someString: String? { let o = _accessor.offset(VTOFFSET.someString.v); return o == 0 ? "some" : _accessor.string(at: o) }
63   public var someStringSegmentArray: [UInt8]? { return _accessor.getVector(at: VTOFFSET.someString.v) }
64   public var hasAbcs: Bool { let o = _accessor.offset(VTOFFSET.abcs.v); return o == 0 ? false : true }
65   public var abcsCount: Int32 { let o = _accessor.offset(VTOFFSET.abcs.v); return o == 0 ? 0 : _accessor.vector(count: o) }
abcsnull66   public func abcs(at index: Int32) -> ABC? { let o = _accessor.offset(VTOFFSET.abcs.v); return o == 0 ? ABC.a : ABC(rawValue: _accessor.directRead(of: Int32.self, offset: _accessor.vector(at: o) + index * 4)) }
67   public var hasBools: Bool { let o = _accessor.offset(VTOFFSET.bools.v); return o == 0 ? false : true }
68   public var boolsCount: Int32 { let o = _accessor.offset(VTOFFSET.bools.v); return o == 0 ? 0 : _accessor.vector(count: o) }
boolsnull69   public func bools(at index: Int32) -> Bool { let o = _accessor.offset(VTOFFSET.bools.v); return o == 0 ? true : _accessor.directRead(of: Bool.self, offset: _accessor.vector(at: o) + index * 1) }
70   public var bools: [Bool] { return _accessor.getVector(at: VTOFFSET.bools.v) ?? [] }
startMoreDefaultsnull71   public static func startMoreDefaults(_ fbb: inout FlatBufferBuilder) -> UOffset { fbb.startTable(with: 6) }
addVectorOfnull72   public static func addVectorOf(ints: Offset, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: ints, at: VTOFFSET.ints.p) }
addVectorOfnull73   public static func addVectorOf(floats: Offset, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: floats, at: VTOFFSET.floats.p) }
addnull74   public static func add(emptyString: Offset, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: emptyString, at: VTOFFSET.emptyString.p) }
addnull75   public static func add(someString: Offset, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: someString, at: VTOFFSET.someString.p) }
addVectorOfnull76   public static func addVectorOf(abcs: Offset, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: abcs, at: VTOFFSET.abcs.p) }
addVectorOfnull77   public static func addVectorOf(bools: Offset, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: bools, at: VTOFFSET.bools.p) }
endMoreDefaultsnull78   public static func endMoreDefaults(_ fbb: inout FlatBufferBuilder, start: UOffset) -> Offset { let end = Offset(offset: fbb.endTable(at: start)); return end }
79   public static func createMoreDefaults(
80     _ fbb: inout FlatBufferBuilder,
81     intsVectorOffset ints: Offset = Offset(),
82     floatsVectorOffset floats: Offset = Offset(),
83     emptyStringOffset emptyString: Offset = Offset(),
84     someStringOffset someString: Offset = Offset(),
85     abcsVectorOffset abcs: Offset = Offset(),
86     boolsVectorOffset bools: Offset = Offset()
87   ) -> Offset {
88     let __start = MoreDefaults.startMoreDefaults(&fbb)
89     MoreDefaults.addVectorOf(ints: ints, &fbb)
90     MoreDefaults.addVectorOf(floats: floats, &fbb)
91     MoreDefaults.add(emptyString: emptyString, &fbb)
92     MoreDefaults.add(someString: someString, &fbb)
93     MoreDefaults.addVectorOf(abcs: abcs, &fbb)
94     MoreDefaults.addVectorOf(bools: bools, &fbb)
95     return MoreDefaults.endMoreDefaults(&fbb, start: __start)
96   }
97 
98 
unpacknull99   public mutating func unpack() -> MoreDefaultsT {
100     return MoreDefaultsT(&self)
101   }
packnull102   public static func pack(_ builder: inout FlatBufferBuilder, obj: inout MoreDefaultsT?) -> Offset {
103     guard var obj = obj else { return Offset() }
104     return pack(&builder, obj: &obj)
105   }
106 
packnull107   public static func pack(_ builder: inout FlatBufferBuilder, obj: inout MoreDefaultsT) -> Offset {
108     let __ints = builder.createVector(obj.ints)
109     let __floats = builder.createVector(obj.floats)
110     let __emptyString: Offset
111     if let s = obj.emptyString {
112       __emptyString = builder.create(string: s)
113     } else {
114       __emptyString = Offset()
115     }
116 
117     let __someString: Offset
118     if let s = obj.someString {
119       __someString = builder.create(string: s)
120     } else {
121       __someString = Offset()
122     }
123 
124     let __abcs = builder.createVector(obj.abcs)
125     let __bools = builder.createVector(obj.bools)
126     let __root = MoreDefaults.startMoreDefaults(&builder)
127     MoreDefaults.addVectorOf(ints: __ints, &builder)
128     MoreDefaults.addVectorOf(floats: __floats, &builder)
129     MoreDefaults.add(emptyString: __emptyString, &builder)
130     MoreDefaults.add(someString: __someString, &builder)
131     MoreDefaults.addVectorOf(abcs: __abcs, &builder)
132     MoreDefaults.addVectorOf(bools: __bools, &builder)
133     return MoreDefaults.endMoreDefaults(&builder, start: __root)
134   }
135 
verify<T>null136   public static func verify<T>(_ verifier: inout Verifier, at position: Int, of type: T.Type) throws where T: Verifiable {
137     var _v = try verifier.visitTable(at: position)
138     try _v.visit(field: VTOFFSET.ints.p, fieldName: "ints", required: false, type: ForwardOffset<Vector<Int32, Int32>>.self)
139     try _v.visit(field: VTOFFSET.floats.p, fieldName: "floats", required: false, type: ForwardOffset<Vector<Float32, Float32>>.self)
140     try _v.visit(field: VTOFFSET.emptyString.p, fieldName: "emptyString", required: false, type: ForwardOffset<String>.self)
141     try _v.visit(field: VTOFFSET.someString.p, fieldName: "someString", required: false, type: ForwardOffset<String>.self)
142     try _v.visit(field: VTOFFSET.abcs.p, fieldName: "abcs", required: false, type: ForwardOffset<Vector<ABC, ABC>>.self)
143     try _v.visit(field: VTOFFSET.bools.p, fieldName: "bools", required: false, type: ForwardOffset<Vector<Bool, Bool>>.self)
144     _v.finish()
145   }
146 }
147 
148 extension MoreDefaults: Encodable {
149 
150   enum CodingKeys: String, CodingKey {
151     case ints = "ints"
152     case floats = "floats"
153     case emptyString = "empty_string"
154     case someString = "some_string"
155     case abcs = "abcs"
156     case bools = "bools"
157   }
encodenull158   public func encode(to encoder: Encoder) throws {
159     var container = encoder.container(keyedBy: CodingKeys.self)
160     if intsCount > 0 {
161       try container.encodeIfPresent(ints, forKey: .ints)
162     }
163     if floatsCount > 0 {
164       try container.encodeIfPresent(floats, forKey: .floats)
165     }
166     try container.encodeIfPresent(emptyString, forKey: .emptyString)
167     try container.encodeIfPresent(someString, forKey: .someString)
168     if abcsCount > 0 {
169       var contentEncoder = container.nestedUnkeyedContainer(forKey: .abcs)
170       for index in 0..<abcsCount {
171         guard let type = abcs(at: index) else { continue }
172         try contentEncoder.encode(type)
173       }
174     }
175     if boolsCount > 0 {
176       try container.encodeIfPresent(bools, forKey: .bools)
177     }
178   }
179 }
180 
181 public class MoreDefaultsT: NativeObject {
182 
183   public var ints: [Int32]
184   public var floats: [Float32]
185   public var emptyString: String?
186   public var someString: String?
187   public var abcs: [ABC]
188   public var bools: [Bool]
189 
190   public init(_ _t: inout MoreDefaults) {
191     ints = []
192     for index in 0..<_t.intsCount {
193         ints.append(_t.ints(at: index))
194     }
195     floats = []
196     for index in 0..<_t.floatsCount {
197         floats.append(_t.floats(at: index))
198     }
199     emptyString = _t.emptyString
200     someString = _t.someString
201     abcs = []
202     for index in 0..<_t.abcsCount {
203         abcs.append(_t.abcs(at: index)!)
204     }
205     bools = []
206     for index in 0..<_t.boolsCount {
207         bools.append(_t.bools(at: index))
208     }
209   }
210 
211   public init() {
212     ints = []
213     floats = []
214     emptyString = ""
215     someString = "some"
216     abcs = []
217     bools = []
218   }
219 
serializenull220   public func serialize() -> ByteBuffer { return serialize(type: MoreDefaults.self) }
221 
222 }
223