UNPKG

stl-kit

Version:

A modern JavaScript & TypeScript standard template library (STL) for data structures and algorithms. Includes high-performance implementations of Stack, Queue, Deque, Linked List, Vector, Set, Map, Tree, Heap, and Graph — inspired by C++ STL. Designed for

33 lines (31 loc) 1.09 kB
type Factory<T, A extends unknown[]> = (...args: A) => T; interface VectorOptions<T, A extends unknown[]> { initValues?: T[]; factory?: Factory<T, A>; } declare class Vector<T, A extends unknown[] = [T]> extends Array<T> { #private; constructor({ initValues, factory }?: VectorOptions<T, A>); rbegin(): IterableIterator<T>; begin(): IterableIterator<T>; isEmpty(): boolean; clear(): void; insertAt(index: number, val: T): number; eraseAt(index: number): T | undefined; resize(size: number): void; pushFront(val: T): number; pushBack(val: T): number; popFront(): T | undefined; popBack(): T | undefined; emplaceAt(index: number, ...arg: A): number; emplaceFront(...arg: A): number; emplaceBack(...arg: A): number; assign(count: number, value: T): void; assign(values: T[], start?: number, end?: number): void; equals(other: Vector<T>, compareFn?: (a: T, b: T) => boolean): boolean; get front(): T | undefined; set front(val: T); get back(): T | undefined; set back(val: T); } export { Vector };