import { BidirectionalIterator } from "../iterators/Bidirectional"; export class SequenceContainer { move(rhs: SequenceContainer): this; size(): number; begin(): BidirectionalIterator; end(): BidirectionalIterator; clone(): this; copy(rhs: SequenceContainer): this; empty(): boolean; /** * @returns direct access to front item's value */ get front(): T; set front(value: T); /** * @returns direct access to back item's value */ get back(): T; set back(value: T); /** * inserts [begin, end) at dest * @param dest where to insert * @param begin of another SequenceContainer * @param end of another SequenceContainer * @returns iterator right after end iterator */ insert(dest: BidirectionalIterator, begin: BidirectionalIterator, end: BidirectionalIterator): BidirectionalIterator; /** * inserts [begin, end) at dest * @param dest where to insert * @param value which will be inserted * @param n count of how many values will be inserted * @returns iterator right after last inserted value */ insert(dest: BidirectionalIterator, value: T, n: number): BidirectionalIterator; /** * inserts [begin, end) at dest * @param dest where to insert * @param value which will be inserted * @returns iterator right after inserted value */ insert(dest: BidirectionalIterator, value: T): BidirectionalIterator; /** * same as list.clear(); list.insert(list.begin(), ...) * @param begin of another SequenceContainer * @param end of another SequenceContainer * @returns end iterator */ assign(begin: BidirectionalIterator, end: BidirectionalIterator): BidirectionalIterator; /** * same as list.clear(); list.insert(list.begin(), ...) * @param value which will be inserted * @param n count of how many values will be inserted * @returns iterator right after last inserted value */ assign(value: T, n: number): BidirectionalIterator; /** * same as list.clear(); list.insert(list.begin(), ...) * @param value which will be inserted * @returns iterator right after inserted value */ assign(value: T): BidirectionalIterator; /** * erases [begin, end) * @param begin of erased range * @param end of erased range * @returns iterator right after erased range */ erase(begin: BidirectionalIterator, end: BidirectionalIterator): BidirectionalIterator; /** * erases single item * @param begin which points to erased item * @returns iterator right after erased value */ erase(begin: BidirectionalIterator): BidirectionalIterator; /** * same as list.erase(list.begin(), list.end()) * @returns end iterator */ clear(): BidirectionalIterator; pushFront(value: T): void; pushBack(value: T): void; popFront(): void; popBack(): void; [Symbol.iterator](): Iterator; toJSON(): string; toString(): string; }