[Swift] Inline arrays (#8755)

Implements InlineArrays which allow us to use Flatbuffers arrays within
Structs natively, and also implements FlatbufferVectors as a secondary API
when using mutable Structs

Fixes mutations within fixed sizes arrays

Adds tests and remove inout and mutating from generated objects in favor of borrowing

---------

Co-authored-by: Wouter van Oortmerssen <aardappel@gmail.com>
This commit is contained in:
mustiikhalil
2025-11-15 00:33:16 +01:00
committed by GitHub
parent 7150dfb5c4
commit cbf0850828
18 changed files with 995 additions and 359 deletions

View File

@@ -48,4 +48,16 @@ public struct Struct {
let r = bb.read(def: T.self, position: Int(o &+ position))
return r
}
public func vector<T>(
at off: Int32,
count: Int,
size: Int) -> FlatbufferVector<T>
{
FlatbufferVector(
bb: bb,
startPosition: position &+ off,
count: count,
byteSize: size)
}
}