UNPKG

@jawis/shared-algs

Version:

Data structures for building concurrent programs.

70 lines (69 loc) 1.29 kB
export type SharedValidityVectorDeps = { size: number; sharedArray: Int32Array | Uint32Array; useChunkVersion: boolean; }; /** * * - Stores index version, to be able to detect invalid references. * * notes * - Linear complexity. Suited for base cases in larger structures. * * todo * - quick fix: uses one word per validity bit. */ export declare class SharedValidityVector { deps: SharedValidityVectorDeps; static BYTE_OVERHEAD: number; static BLOCK_SIZE: number; /** * */ constructor(deps: SharedValidityVectorDeps); /** * */ static getExpectedByteSize: (n: number) => number; /** * */ get: () => { index: number; version: number; }; /** * */ tryGet: () => { index: number; version: number; } | undefined; /** * */ invalidate: (index: number, version: number) => void; /** * */ isValid: (index: number, version: number) => boolean; /** * */ isFull: () => boolean; /** * */ isEmpty: () => boolean; /** * */ getCount: () => number; /** * */ [Symbol.iterator](): Generator<{ index: number; version: number; }>; }