//================================================================ /** * @packageDocumentation * @module std.internal */ //================================================================ import { IArrayContainer } from "../../base/container/IArrayContainer"; import { ArrayIteratorBase } from "./ArrayIteratorBase"; import { ArrayContainer } from "../container/linear/ArrayContainer"; import { ArrayReverseIterator } from "./ArrayReverseIterator"; export class ArrayIterator< T, SourceT extends ArrayContainer< T, SourceT, SourceT, ArrayIterator, ArrayReverseIterator, T >, > extends ArrayIteratorBase< T, SourceT, SourceT, ArrayIterator, ArrayReverseIterator, T > implements IArrayContainer.Iterator< T, SourceT, ArrayIterator, ArrayReverseIterator > { /** * @inheritDoc */ public reverse(): ArrayReverseIterator { return new ArrayReverseIterator(this); } /** * @inheritDoc */ public source(): SourceT { return this._Get_array(); } }