You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
755 B
33 lines
755 B
3 years ago
|
/**
|
||
|
* Mnemonist HashedArrayTree Typings
|
||
|
* ==================================
|
||
|
*/
|
||
|
import {IArrayLikeConstructor} from './utils/types';
|
||
|
|
||
|
type HashedArrayTreeOptions = {
|
||
|
initialCapacity?: number;
|
||
|
initialLength?: number;
|
||
|
blockSize?: number;
|
||
|
}
|
||
|
|
||
|
export default class HashedArrayTree<T> {
|
||
|
|
||
|
// Members
|
||
|
blockSize: number;
|
||
|
capacity: number;
|
||
|
length: number;
|
||
|
|
||
|
// Constructor
|
||
|
constructor(ArrayClass: IArrayLikeConstructor, capacity: number);
|
||
|
constructor(ArrayClass: IArrayLikeConstructor, options: HashedArrayTreeOptions);
|
||
|
|
||
|
// Methods
|
||
|
set(index: number, value: T): this;
|
||
|
get(index: number): T | undefined;
|
||
|
grow(capacity: number): this;
|
||
|
resize(length: number): this;
|
||
|
push(value: T): number;
|
||
|
pop(): T | undefined;
|
||
|
inspect(): any;
|
||
|
}
|