import { RandomAccessIterator } from './iterators/RandomAccess'; import { SequenceContainer } from './containers/Sequence'; export class Vector extends SequenceContainer> { /** * empty vector */ constructor(); /** * vector with n similar elements * @param value which will be inserted * @param n count of how many values will be inserted */ constructor(value: T, n?: number); /** * copies range of another vector * @param begin of another SequenceContainer * @param end of another SequenceContainer */ constructor(begin: VectorIterator, end: VectorIterator); /** * @returns vector[idx] */ get(idx: number): T; /** * vector[idx] = value * @returns vector[idx] */ set(idx: number, value: T): T; /** * creates vector from array, string and other iterable object */ static from(obj: Iterable): Vector; } export class VectorIterator extends RandomAccessIterator { private constructor(); }