/** * @packageDocumentation * @module std.experimental */ import { UniqueTreeSet } from "../../internal/container/associative/UniqueTreeSet"; import { SetElementVector } from "../../internal/container/associative/SetElementVector"; import { IForwardIterator } from "../../iterator/IForwardIterator"; import { Comparator } from "../../internal/functional/Comparator"; /** * Unique-key Set based on sorted array. * * @author Jeongho Nam - https://github.com/samchon */ export declare class FlatSet extends UniqueTreeSet, FlatSet.Iterator, FlatSet.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: Key[], comp?: Comparator); /** * Copy Constructor. * * @param obj Object to copy. */ constructor(obj: FlatSet); /** * 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: FlatSet): void; /** * @inheritDoc */ nth(index: number): FlatSet.Iterator; /** * @inheritDoc */ key_comp(): Comparator; /** * @inheritDoc */ lower_bound(key: Key): FlatSet.Iterator; /** * @inheritDoc */ upper_bound(key: Key): FlatSet.Iterator; protected _Handle_insert({}: {}, {}: {}): void; protected _Handle_erase({}: {}, {}: {}): void; } /** * */ export declare namespace FlatSet { type Iterator = SetElementVector.Iterator>; type ReverseIterator = SetElementVector.ReverseIterator>; const Iterator: typeof SetElementVector.Iterator; const ReverseIterator: typeof SetElementVector.ReverseIterator; const __MODULE = "experimental"; } //# sourceMappingURL=FlatSet.d.ts.map