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