Spaces:
Configuration error
Configuration error
| /** | |
| * @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()}`; | |
| } | |
| } | |