/** * @packageDocumentation * @module std */ import { UniqueMap } from "../base/container/UniqueMap"; import { IHashMap } from "../base/container/IHashMap"; import { MapElementList } from "../internal/container/associative/MapElementList"; import { IForwardIterator } from "../iterator/IForwardIterator"; import { IPair } from "../utility/IPair"; import { Pair } from "../utility/Pair"; import { BinaryPredicator } from "../internal/functional/BinaryPredicator"; import { Hasher } from "../internal/functional/Hasher"; /** * Unique-key Map based on Hash buckets. * * @author Jeongho Nam - https://github.com/samchon */ export declare class HashMap extends UniqueMap, HashMap.Iterator, HashMap.ReverseIterator> implements IHashMap> { private buckets_; /** * Default Constructor. * * @param hash An unary function returns hash code. Default is {hash}. * @param equal A binary function predicates two arguments are equal. Default is {@link equal_to}. */ constructor(hash?: Hasher, equal?: BinaryPredicator); /** * Initializer Constructor. * * @param items Items to assign. * @param hash An unary function returns hash code. Default is {hash}. * @param equal A binary function predicates two arguments are equal. Default is {@link equal_to}. */ constructor(items: IPair[], hash?: Hasher, equal?: BinaryPredicator); /** * Copy Constructor. * * @param obj Object to copy. */ constructor(obj: HashMap); /** * Range Constructor. * * @param first Input iterator of the first position. * @param last Input iterator of the last position. * @param hash An unary function returns hash code. Default is {hash}. * @param equal A binary function predicates two arguments are equal. Default is {@link equal_to}. */ constructor(first: Readonly>>, last: Readonly>>, hash?: Hasher, equal?: BinaryPredicator); /** * @inheritDoc */ clear(): void; /** * @inheritDoc */ swap(obj: HashMap): void; /** * @inheritDoc */ find(key: Key): HashMap.Iterator; /** * @inheritDoc */ begin(): HashMap.Iterator; /** * @inheritDoc */ begin(index: number): HashMap.Iterator; /** * @inheritDoc */ end(): HashMap.Iterator; /** * @inheritDoc */ end(index: number): HashMap.Iterator; /** * @inheritDoc */ rbegin(): HashMap.ReverseIterator; /** * @inheritDoc */ rbegin(index: number): HashMap.ReverseIterator; /** * @inheritDoc */ rend(): HashMap.ReverseIterator; /** * @inheritDoc */ rend(index: number): HashMap.ReverseIterator; /** * @inheritDoc */ bucket_count(): number; /** * @inheritDoc */ bucket_size(index: number): number; /** * @inheritDoc */ load_factor(): number; /** * @inheritDoc */ hash_function(): Hasher; /** * @inheritDoc */ key_eq(): BinaryPredicator; /** * @inheritDoc */ bucket(key: Key): number; /** * @inheritDoc */ max_load_factor(): number; /** * @inheritDoc */ max_load_factor(z: number): void; /** * @inheritDoc */ reserve(n: number): void; /** * @inheritDoc */ rehash(n: number): void; /** * @inheritDoc */ emplace(key: Key, val: T): Pair, boolean>; /** * @inheritDoc */ emplace_hint(hint: HashMap.Iterator, key: Key, val: T): HashMap.Iterator; protected _Handle_insert(first: HashMap.Iterator, last: HashMap.Iterator): void; protected _Handle_erase(first: HashMap.Iterator, last: HashMap.Iterator): void; } /** * */ export declare namespace HashMap { /** * Iterator of {@link HashMap} */ type Iterator = MapElementList.Iterator>; /** * Reverse iterator of {@link HashMap} */ type ReverseIterator = MapElementList.ReverseIterator>; const Iterator: typeof MapElementList.Iterator; const ReverseIterator: typeof MapElementList.ReverseIterator; } //# sourceMappingURL=HashMap.d.ts.map