UNPKG

encompass-gc-optimized-collections

Version:

Provides GC optimized collections in TypeScript and Lua for use with Encompass-TS

29 lines (28 loc) 961 B
/** @luaIterator @tupleReturn */ export interface IGCOptimizedListEntriesIterable<T> extends Iterable<T> { } /** @luaIterator */ export interface IGCOptimizedListValuesIterable<T> extends Iterable<T> { } export declare class GCOptimizedList<T> { static readonly Empty: GCOptimizedList<any>; readonly size: number; protected items: Map<number, T>; protected indices: Map<T, number>; protected _size: number; constructor(...entries: T[]); forEach(callback: (value: T) => any): void; entries(): IGCOptimizedListEntriesIterable<[number, T]>; values(): IGCOptimizedListValuesIterable<T>; add(value: T): void; clear(): void; delete(index: number): boolean; deleteValue(value: T): boolean; indexOf(value: T): number | null; get(index: number): T | undefined; empty(): boolean; hasIndex(index: number): boolean; hasValue(value: T): boolean; shift(): T | undefined; pop(): T | undefined; }