Files
rss-nostr-lambda/node_modules/tstl/internal/iterator/ArrayIteratorBase.d.ts
T

61 lines
1.7 KiB
TypeScript

/**
* @packageDocumentation
* @module std.internal
*/
import { IContainer } from "../../base/container/IContainer";
import { IRandomAccessIterator } from "../../iterator/IRandomAccessIterator";
import { ArrayContainer } from "../container/linear/ArrayContainer";
import { ArrayReverseIteratorBase } from "./ArrayReverseIteratorBase";
/**
* Iterator of Array Containers.
*
* @author Jeongho Nam - https://github.com/samchon
*/
export declare abstract class ArrayIteratorBase<T extends ElemT, SourceT extends IContainer<T, SourceT, IteratorT, ReverseT, ElemT>, ArrayT extends ArrayContainer<T, SourceT, ArrayT, IteratorT, ReverseT, ElemT>, IteratorT extends ArrayIteratorBase<T, SourceT, ArrayT, IteratorT, ReverseT, ElemT>, ReverseT extends ArrayReverseIteratorBase<T, SourceT, ArrayT, IteratorT, ReverseT, ElemT>, ElemT> implements IContainer.Iterator<T, SourceT, IteratorT, ReverseT, ElemT>, IRandomAccessIterator<T, IteratorT> {
private array_;
private index_;
/**
* Initializer Constructor.
*
* @param source Source container.
* @param index Index number.
*/
constructor(array: ArrayT, index: number);
/**
* @inheritDoc
*/
abstract reverse(): ReverseT;
/**
* @inheritDoc
*/
abstract source(): SourceT;
/**
* @inheritDoc
*/
index(): number;
/**
* @inheritDoc
*/
get value(): T;
/**
* @inheritDoc
*/
set value(val: T);
/**
* @inheritDoc
*/
prev(): IteratorT;
/**
* @inheritDoc
*/
next(): IteratorT;
/**
* @inheritDoc
*/
advance(n: number): IteratorT;
/**
* @inheritDoc
*/
equals(obj: IteratorT): boolean;
}