/** * @packageDocumentation * @module std.internal */ import { ILinearContainerBase } from "./ILinearContainerBase"; import { Container } from "../../../base/container/Container"; import { IContainer } from "../../../base/container/IContainer"; import { IForwardIterator } from "../../../iterator/IForwardIterator"; import { ArrayIteratorBase } from "../../iterator/ArrayIteratorBase"; import { ArrayReverseIteratorBase } from "../../iterator/ArrayReverseIteratorBase"; /** * Base array container. * * @author Jeongho Nam - https://github.com/samchon */ export declare abstract class ArrayContainer, ArrayT extends ArrayContainer, IteratorT extends ArrayIteratorBase, ReverseT extends ArrayReverseIteratorBase, ElemT> extends Container implements ILinearContainerBase { /** * @inheritDoc */ abstract resize(n: number): void; protected abstract source(): SourceT; /** * @inheritDoc */ begin(): IteratorT; /** * @inheritDoc */ end(): IteratorT; abstract nth(index: number): IteratorT; /** * Get element at specific position. * * @param index Specific position. * @return The element at the *index*. */ at(index: number): T; protected abstract _At(index: number): T; /** * Change element at specific position. * * @param index Specific position. * @param val The new value to change. */ set(index: number, val: T): void; protected abstract _Set(index: number, val: T): void; /** * @inheritDoc */ front(): T; /** * @inheritDoc */ front(val: T): void; /** * @inheritDoc */ back(): T; /** * @inheritDoc */ back(val: T): void; /** * @inheritDoc */ abstract push_back(val: T): void; /** * @inheritDoc */ insert(pos: IteratorT, val: T): IteratorT; /** * @inheritDoc */ insert(pos: IteratorT, n: number, val: T): IteratorT; /** * @inheritDoc */ insert>>(pos: IteratorT, first: InputIterator, last: InputIterator): IteratorT; protected _Insert_by_repeating_val(position: IteratorT, n: number, val: T): IteratorT; protected abstract _Insert_by_range>>(pos: IteratorT, first: InputIterator, last: InputIterator): IteratorT; /** * @inheritDoc */ pop_back(): void; protected abstract _Pop_back(): void; /** * @inheritDoc */ erase(it: IteratorT): IteratorT; /** * @inheritDoc */ erase(first: IteratorT, last: IteratorT): IteratorT; protected abstract _Erase_by_range(first: IteratorT, last: IteratorT): IteratorT; } //# sourceMappingURL=ArrayContainer.d.ts.map