/** * @packageDocumentation * @module std.internal */ import { IAssociativeContainer } from "./IAssociativeContainer"; import { IContainer } from "../../../base/container/IContainer"; import { Comparator } from "../../functional/Comparator"; import { Pair } from "../../../utility/Pair"; /** * Common interface for tree containers. * * @author Jeongho Nam - https://github.com/samchon */ export interface ITreeContainer, IteratorT extends IContainer.Iterator, ReverseIteratorT extends IContainer.ReverseIterator, Elem> extends IAssociativeContainer { /** * Get key comparison function. * * @return The key comparison function. */ key_comp(): Comparator; /** * Get value comparison function. * * @return The value comparison function. */ value_comp(): Comparator; /** * Get iterator to lower bound. * * @param key Key to search for. * @return Iterator to the first element equal or after to the key. */ lower_bound(key: Key): IteratorT; /** * Get iterator to upper bound. * * @param key Key to search for. * @return Iterator to the first element after the key. */ upper_bound(key: Key): IteratorT; /** * Get range of equal elements. * * @param key Key to search for. * @return Pair of {@link lower_bound} and {@link upper_bound}. */ equal_range(key: Key): Pair; } export declare namespace ITreeContainer { } //# sourceMappingURL=ITreeContainer.d.ts.map