/** * @packageDocumentation * @module std.base */ import { IContainer } from "./IContainer"; import { IDeque } from "../../internal/container/partial/IDeque"; import { ILinearContainer } from "./ILinearContainer"; /** * Common interface for deque containers. * * @template T Stored elements' type * @template SourceT Derived type extending this {@link IDequeContainer} * @template IteratorT Iterator type * @template ReverseT Reverse iterator type * @template PElem Parent type of *T*, used for inserting elements through {@link assign} and {@link insert}. * * @author Jeongho Nam - https://github.com/samchon */ export interface IDequeContainer, IteratorT extends IContainer.Iterator, ReverseT extends IContainer.ReverseIterator, PElem = T> extends IDeque, ILinearContainer { } export declare namespace IDequeContainer { /** * Iterator of {@link IDequeContainer}. * * @author Jeongho Nam - https://github.com/samchon */ type Iterator, IteratorT extends IDequeContainer.Iterator, ReverseT extends IDequeContainer.ReverseIterator, ElemT = T> = ILinearContainer.Iterator; /** * Reverse iterator of {@link IDequeContainer}. * * @author Jeongho Nam - https://github.com/samchon */ type ReverseIterator, IteratorT extends IDequeContainer.Iterator, ReverseT extends IDequeContainer.ReverseIterator, ElemT = T> = ILinearContainer.ReverseIterator; } //# sourceMappingURL=IDequeContainer.d.ts.map