28 lines
1.5 KiB
TypeScript
28 lines
1.5 KiB
TypeScript
/**
|
|
* @packageDocumentation
|
|
* @module std.internal
|
|
*/
|
|
import { XTree } from "./XTree";
|
|
import { XTreeNode } from "./XTreeNode";
|
|
import { ITreeMap } from "../../base/container/ITreeMap";
|
|
import { MapElementList } from "../container/associative/MapElementList";
|
|
import { IPair } from "../../utility/IPair";
|
|
import { Pair } from "../../utility/Pair";
|
|
import { Comparator } from "../functional/Comparator";
|
|
export declare abstract class MapTree<Key, T, Unique extends boolean, Source extends ITreeMap<Key, T, Unique, Source, MapElementList.Iterator<Key, T, Unique, Source>, MapElementList.ReverseIterator<Key, T, Unique, Source>>> extends XTree<MapElementList.Iterator<Key, T, Unique, Source>> {
|
|
private source_;
|
|
private key_compare_;
|
|
private key_eq_;
|
|
private value_compare_;
|
|
constructor(source: Source, comp: Comparator<Key>, it_comp: Comparator<MapElementList.Iterator<Key, T, Unique, Source>>);
|
|
get_by_key(key: Key): XTreeNode<MapElementList.Iterator<Key, T, Unique, Source>> | null;
|
|
abstract nearest_by_key(key: Key): XTreeNode<MapElementList.Iterator<Key, T, Unique, Source>> | null;
|
|
lower_bound(key: Key): MapElementList.Iterator<Key, T, Unique, Source>;
|
|
abstract upper_bound(key: Key): MapElementList.Iterator<Key, T, Unique, Source>;
|
|
equal_range(key: Key): Pair<MapElementList.Iterator<Key, T, Unique, Source>, MapElementList.Iterator<Key, T, Unique, Source>>;
|
|
source(): Source;
|
|
key_comp(): Comparator<Key>;
|
|
key_eq(): Comparator<Key>;
|
|
value_comp(): Comparator<IPair<Key, T>>;
|
|
}
|