1414 * limitations under the License.
1515 */
1616
17+ @_exported import Common
1718import Foundation
1819
19- /// A boolean to see if the system is littleEndian
20- let isLitteEndian : Bool = {
21- let number : UInt32 = 0x12345678
22- return number == number. littleEndian
23- } ( )
24- /// Constant for the file id length
25- let FileIdLength = 4
2620/// Type aliases
2721public typealias Byte = UInt8
2822public typealias UOffset = UInt32
@@ -35,80 +29,31 @@ public let FlatBufferMaxSize = UInt32
3529/// Protocol that All Scalars should conform to
3630///
3731/// Scalar is used to conform all the numbers that can be represented in a FlatBuffer. It's used to write/read from the buffer.
38- public protocol Scalar : Equatable {
39- associatedtype NumericValue
40- var convertedEndian : NumericValue { get }
41- }
42-
43- extension Scalar where Self: Verifiable { }
44-
45- extension Scalar where Self: FixedWidthInteger {
46- /// Converts the value from BigEndian to LittleEndian
47- ///
48- /// Converts values to little endian on machines that work with BigEndian, however this is NOT TESTED yet.
49- public var convertedEndian : NumericValue {
50- self as! Self . NumericValue
51- }
52- }
53-
54- extension Double : Scalar , Verifiable {
55- public typealias NumericValue = UInt64
56-
57- public var convertedEndian : UInt64 {
58- bitPattern. littleEndian
59- }
60- }
61-
62- extension Float32 : Scalar , Verifiable {
63- public typealias NumericValue = UInt32
64-
65- public var convertedEndian : UInt32 {
66- bitPattern. littleEndian
67- }
68- }
69-
70- extension Bool : Scalar , Verifiable {
71- public var convertedEndian : UInt8 {
72- self == true ? 1 : 0
73- }
74-
75- public typealias NumericValue = UInt8
76- }
77-
78- extension Int : Scalar , Verifiable {
79- public typealias NumericValue = Int
80- }
81-
82- extension Int8 : Scalar , Verifiable {
83- public typealias NumericValue = Int8
84- }
85-
86- extension Int16 : Scalar , Verifiable {
87- public typealias NumericValue = Int16
88- }
89-
90- extension Int32 : Scalar , Verifiable {
91- public typealias NumericValue = Int32
92- }
93-
94- extension Int64 : Scalar , Verifiable {
95- public typealias NumericValue = Int64
96- }
97-
98- extension UInt8 : Scalar , Verifiable {
99- public typealias NumericValue = UInt8
100- }
101-
102- extension UInt16 : Scalar , Verifiable {
103- public typealias NumericValue = UInt16
104- }
105-
106- extension UInt32 : Scalar , Verifiable {
107- public typealias NumericValue = UInt32
108- }
109-
110- extension UInt64 : Scalar , Verifiable {
111- public typealias NumericValue = UInt64
112- }
32+
33+ extension Scalar where Self: FixedWidthInteger { }
34+
35+ extension Double : Verifiable { }
36+
37+ extension Float32 : Verifiable { }
38+
39+ extension Bool : Verifiable { }
40+
41+ extension Int : Verifiable { }
42+
43+ extension Int8 : Verifiable { }
44+
45+ extension Int16 : Verifiable { }
46+
47+ extension Int32 : Verifiable { }
48+
49+ extension Int64 : Verifiable { }
50+
51+ extension UInt8 : Verifiable { }
52+
53+ extension UInt16 : Verifiable { }
54+
55+ extension UInt32 : Verifiable { }
56+
57+ extension UInt64 : Verifiable { }
11358
11459public func FlatBuffersVersion_25_2_10( ) { }
0 commit comments