Spaces:
Configuration error
Configuration error
File size: 1,025 Bytes
5641073 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
/**
* @author jdiaz5513
*/
import initTrace from "debug";
import { ListElementSize } from "../list-element-size";
import { _ListCtor, List } from "./list";
import { getContent } from "./pointer";
const trace = initTrace("capnp:list:composite");
trace("load");
export class BoolList extends List<boolean> {
static readonly _capnp: _ListCtor = {
displayName: "List<boolean>" as string,
size: ListElementSize.BIT
};
get(index: number): boolean {
const bitMask = 1 << index % 8;
const byteOffset = index >>> 3;
const c = getContent(this);
const v = c.segment.getUint8(c.byteOffset + byteOffset);
return (v & bitMask) !== 0;
}
set(index: number, value: boolean): void {
const bitMask = 1 << index % 8;
const c = getContent(this);
const byteOffset = c.byteOffset + (index >>> 3);
const v = c.segment.getUint8(byteOffset);
c.segment.setUint8(byteOffset, value ? v | bitMask : v & ~bitMask);
}
toString(): string {
return `Bool_${super.toString()}`;
}
}
|