@sussudio/base
Version:
Internal APIs for VS Code's utilities and user interface building blocks.
35 lines (33 loc) • 1.23 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
export declare class SkipList<K, V> implements Map<K, V> {
readonly comparator: (a: K, b: K) => number;
readonly [Symbol.toStringTag] = 'SkipList';
private _maxLevel;
private _level;
private _header;
private _size;
/**
*
* @param capacity Capacity at which the list performs best
*/
constructor(comparator: (a: K, b: K) => number, capacity?: number);
get size(): number;
clear(): void;
has(key: K): boolean;
get(key: K): V | undefined;
set(key: K, value: V): this;
delete(key: K): boolean;
forEach(callbackfn: (value: V, key: K, map: Map<K, V>) => void, thisArg?: any): void;
[Symbol.iterator](): IterableIterator<[K, V]>;
entries(): IterableIterator<[K, V]>;
keys(): IterableIterator<K>;
values(): IterableIterator<V>;
toString(): string;
private static _search;
private static _insert;
private static _randomLevel;
private static _delete;
}