/** * @packageDocumentation * @module std.ranges */ import { IForwardContainer } from "./IForwardContainer"; import { IRandomAccessIterator } from "../../iterator/IRandomAccessIterator"; import { IPointer } from "../../functional/IPointer"; import { Vector } from "../../container/Vector"; /** * Random-access iterable container. * * @template Iterator Iterator type * @author Jeongho Nam - https://github.com/samchon */ export interface IRandomAccessContainer, IteratorT>> extends IForwardContainer { } export declare namespace IRandomAccessContainer { /** * Deduct iterator type. */ type IteratorType | IRandomAccessContainer> = Container extends Array ? Vector.Iterator : Container extends IRandomAccessContainer ? Iterator : unknown; /** * Deduct value type. */ type ValueType | IRandomAccessContainer> = IForwardContainer.ValueType>; } //# sourceMappingURL=IRandomAccessContainer.d.ts.map