/** * @packageDocumentation * @module std.experimental */ import { MultiTreeMap } from "../../internal/container/associative/MultiTreeMap"; import { MapElementVector } from "../../internal/container/associative/MapElementVector"; import { IPair } from "../../utility/IPair"; import { IForwardIterator } from "../../iterator/IForwardIterator"; import { Comparator } from "../../internal/functional/Comparator"; /** * Multiple-key Map based on sorted array. * * @author Jeongho Nam - https://github.com/samchon */ export declare class FlatMultiMap extends MultiTreeMap, FlatMultiMap.Iterator, FlatMultiMap.ReverseIterator> { private key_comp_; /** * 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: FlatMultiMap); /** * 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 */ swap(obj: FlatMultiMap): void; /** * @inheritDoc */ nth(index: number): FlatMultiMap.Iterator; /** * @inheritDoc */ key_comp(): Comparator; /** * @inheritDoc */ lower_bound(key: Key): FlatMultiMap.Iterator; /** * @inheritDoc */ upper_bound(key: Key): FlatMultiMap.Iterator; private _Capsule_key; protected _Handle_insert({}: {}, {}: {}): void; protected _Handle_erase({}: {}, {}: {}): void; } /** * */ export declare namespace FlatMultiMap { type Iterator = MapElementVector.Iterator>; type ReverseIterator = MapElementVector.ReverseIterator>; const Iterator: typeof MapElementVector.Iterator; const ReverseIterator: typeof MapElementVector.ReverseIterator; const __MODULE = "experimental"; } //# sourceMappingURL=FlatMultiMap.d.ts.map