mirror of
https://github.com/google/flatbuffers.git
synced 2026-07-04 14:41:10 +00:00
[Swift] Implements FlatbuffersVector which confirms to RandomAccessCollection (#8752)
* Implements FlatbuffersVector in swift Implements FlatbuffersVector which confirms to RandomAccessCollection, this would give us semi-native sugary syntax to all the arrays in swift port. This work will also be the foundation of using arrays in swift * Fix failing tests for Swift
This commit is contained in:
@@ -28,8 +28,8 @@ extension String: Verifiable {
|
||||
public static func verify<T>(
|
||||
_ verifier: inout Verifier,
|
||||
at position: Int,
|
||||
of type: T.Type
|
||||
) throws where T: Verifiable {
|
||||
of type: T.Type) throws where T: Verifiable
|
||||
{
|
||||
|
||||
let range = try String.verifyRange(&verifier, at: position, of: UInt8.self)
|
||||
/// Safe &+ since we already check for overflow in verify range
|
||||
@@ -75,16 +75,16 @@ extension String: ObjectAPIPacker {
|
||||
|
||||
public static func pack(
|
||||
_ builder: inout FlatBufferBuilder,
|
||||
obj: inout String?
|
||||
) -> Offset {
|
||||
obj: inout String?) -> Offset
|
||||
{
|
||||
guard var obj = obj else { return Offset() }
|
||||
return pack(&builder, obj: &obj)
|
||||
}
|
||||
|
||||
public static func pack(
|
||||
_ builder: inout FlatBufferBuilder,
|
||||
obj: inout String
|
||||
) -> Offset {
|
||||
obj: inout String) -> Offset
|
||||
{
|
||||
builder.create(string: obj)
|
||||
}
|
||||
|
||||
@@ -97,14 +97,15 @@ extension String: ObjectAPIPacker {
|
||||
extension String: NativeObject {
|
||||
|
||||
public func serialize<T: ObjectAPIPacker>(type: T.Type) -> ByteBuffer
|
||||
where T.T == Self {
|
||||
where T.T == Self
|
||||
{
|
||||
fatalError("serialize should never be called from string directly")
|
||||
}
|
||||
|
||||
public func serialize<T: ObjectAPIPacker>(
|
||||
builder: inout FlatBufferBuilder,
|
||||
type: T.Type
|
||||
) -> ByteBuffer where T.T == Self {
|
||||
type: T.Type) -> ByteBuffer where T.T == Self
|
||||
{
|
||||
fatalError("serialize should never be called from string directly")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user