Skip to content

Commit 6a65ba4

Browse files
committed
Move bit() function in source files to be consistent with protocol methods order
1 parent 6059112 commit 6a65ba4

3 files changed

Lines changed: 33 additions & 28 deletions

File tree

Sources/BitReader.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,17 @@ public protocol BitReader: class {
1111

1212
init(data: Data)
1313

14+
func bit() -> UInt8
15+
1416
func bits(count: Int) -> [UInt8]
1517

1618
// TODO: Rename?
1719
func intFromBits(count: Int) -> Int
1820

19-
func bit() -> UInt8
20-
2121
// TODO: Describe, that it doesn't check for the end.
2222
func align()
2323

24+
// MARK: ByteReader's methods.
2425
// TODO: Describe preconditions.
2526

2627
func byte() -> UInt8

Sources/LsbBitReader.swift

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,19 @@ public final class LsbBitReader: ByteReader, BitReader {
1313
return self.bitMask == 1
1414
}
1515

16+
public func bit() -> UInt8 {
17+
let bit: UInt8 = self.data[self.offset] & self.bitMask > 0 ? 1 : 0
18+
19+
if self.bitMask == 128 {
20+
self.offset += 1
21+
self.bitMask = 1
22+
} else {
23+
self.bitMask <<= 1
24+
}
25+
26+
return bit
27+
}
28+
1629
public func intFromBits(count: Int) -> Int {
1730
guard count > 0 else {
1831
return 0
@@ -36,19 +49,6 @@ public final class LsbBitReader: ByteReader, BitReader {
3649
return result
3750
}
3851

39-
public func bit() -> UInt8 {
40-
let bit: UInt8 = self.data[self.offset] & self.bitMask > 0 ? 1 : 0
41-
42-
if self.bitMask == 128 {
43-
self.offset += 1
44-
self.bitMask = 1
45-
} else {
46-
self.bitMask <<= 1
47-
}
48-
49-
return bit
50-
}
51-
5252
public func align() {
5353
guard self.bitMask != 1 else {
5454
return
@@ -57,6 +57,8 @@ public final class LsbBitReader: ByteReader, BitReader {
5757
self.offset += 1
5858
}
5959

60+
// MARK: ByteReader's methods.
61+
6062
public override func byte() -> UInt8 {
6163
precondition(isAligned, "BitReader is not aligned.")
6264
return super.byte()

Sources/MsbBitReader.swift

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,19 @@ public final class MsbBitReader: ByteReader, BitReader {
1313
return self.bitMask == 128
1414
}
1515

16+
public func bit() -> UInt8 {
17+
let bit: UInt8 = self.data[self.offset] & self.bitMask > 0 ? 1 : 0
18+
19+
if self.bitMask == 1 {
20+
self.offset += 1
21+
self.bitMask = 128
22+
} else {
23+
self.bitMask >>= 1
24+
}
25+
26+
return bit
27+
}
28+
1629
public func intFromBits(count: Int) -> Int {
1730
guard count > 0 else {
1831
return 0
@@ -36,19 +49,6 @@ public final class MsbBitReader: ByteReader, BitReader {
3649
return result
3750
}
3851

39-
public func bit() -> UInt8 {
40-
let bit: UInt8 = self.data[self.offset] & self.bitMask > 0 ? 1 : 0
41-
42-
if self.bitMask == 1 {
43-
self.offset += 1
44-
self.bitMask = 128
45-
} else {
46-
self.bitMask >>= 1
47-
}
48-
49-
return bit
50-
}
51-
5252
public func align() {
5353
guard self.bitMask != 128 else {
5454
return
@@ -57,6 +57,8 @@ public final class MsbBitReader: ByteReader, BitReader {
5757
self.offset += 1
5858
}
5959

60+
// MARK: ByteReader's methods.
61+
6062
public override func byte() -> UInt8 {
6163
precondition(isAligned, "BitReader is not aligned.")
6264
return super.byte()

0 commit comments

Comments
 (0)