Files
darwin-apk/Sources/apk/Utility/InputStream.swift

22 lines
461 B
Swift

// SPDX-License-Identifier: Apache-2.0
import Foundation
public protocol InputStream: Stream, IteratorProtocol {
associatedtype Element = UInt8
mutating func read(_ count: Int) throws(StreamError) -> Data
}
public extension InputStream {
mutating func read(_ size: Int, items: Int) throws(StreamError) -> Data {
try self.read(size * items)
}
}
public extension InputStream {
mutating func next() -> UInt8? {
try? self.read(1).first
}
}