21 lines
486 B
Swift
21 lines
486 B
Swift
/**
|
|
* Array mapping strings in the string pool back to resource identifiers.
|
|
*/
|
|
/// Header size: `ChunkHeader` (8B) + `0 Bytes`
|
|
public struct XmlResourceMap {
|
|
let header: ChunkHeader
|
|
|
|
init(_ chunk: ChunkHeader) {
|
|
header = chunk
|
|
}
|
|
|
|
public var count: Int {
|
|
(header.index(.afterChunk) - header.index(.startOfData)) / 4
|
|
}
|
|
|
|
public func entries() -> [TblTableRef] {
|
|
var br = header.byteReader(at: .startOfData)
|
|
return (0..<count).map { _ in TblTableRef(br.read32()) }
|
|
}
|
|
}
|