/** * @packageDocumentation * @module std */ import { MultiTreeMap } from "../internal/container/associative/MultiTreeMap"; import { IForwardIterator } from "../iterator/IForwardIterator"; import { MapElementList } from "../internal/container/associative/MapElementList"; import { Comparator } from "../internal/functional/Comparator"; import { IPair } from "../utility/IPair"; /** * Multiple-key Map based on Tree. * * @author Jeongho Nam - https://github.com/samchon */ export declare class TreeMultiMap extends MultiTreeMap, TreeMultiMap.Iterator, TreeMultiMap.ReverseIterator> { private tree_; /** * Default Constructor. * * @param comp A binary function predicates *x* element would be placed before *y*. When returns `true`, then *x* precedes *y*. Note that, because *equality* is predicated by `!comp(x, y) && !comp(y, x)`, the function must not cover the *equality* like `<=` or `>=`. It must exclude the *equality* like `<` or `>`. Default is {@link less}. */ constructor(comp?: Comparator); /** * Initializer Constructor. * * @param items Items to assign. * @param comp A binary function predicates *x* element would be placed before *y*. When returns `true`, then *x* precedes *y*. Note that, because *equality* is predicated by `!comp(x, y) && !comp(y, x)`, the function must not cover the *equality* like `<=` or `>=`. It must exclude the *equality* like `<` or `>`. Default is {@link less}. */ constructor(items: IPair[], comp?: Comparator); /** * Copy Constructor. * * @param obj Object to copy. */ constructor(obj: TreeMultiMap); /** * Range Constructor. * * @param first Input iterator of the first position. * @param last Input iterator of the last position. * @param comp A binary function predicates *x* element would be placed before *y*. When returns `true`, then *x* precedes *y*. Note that, because *equality* is predicated by `!comp(x, y) && !comp(y, x)`, the function must not cover the *equality* like `<=` or `>=`. It must exclude the *equality* like `<` or `>`. Default is {@link less}. */ constructor(first: Readonly>>, last: Readonly>>, comp?: Comparator); /** * @inheritDoc */ clear(): void; /** * @inheritDoc */ swap(obj: TreeMultiMap): void; /** * @inheritDoc */ key_comp(): Comparator; /** * @inheritDoc */ lower_bound(key: Key): TreeMultiMap.Iterator; /** * @inheritDoc */ upper_bound(key: Key): TreeMultiMap.Iterator; protected _Handle_insert(first: TreeMultiMap.Iterator, last: TreeMultiMap.Iterator): void; protected _Handle_erase(first: TreeMultiMap.Iterator, last: TreeMultiMap.Iterator): void; } /** * */ export declare namespace TreeMultiMap { /** * Iterator of {@link TreeMultiMap} */ type Iterator = MapElementList.Iterator>; /** * Iterator of {@link TreeMultiMap} */ type ReverseIterator = MapElementList.ReverseIterator>; const Iterator: typeof MapElementList.Iterator; const ReverseIterator: typeof MapElementList.ReverseIterator; } //# sourceMappingURL=TreeMultiMap.d.ts.map