/** * @packageDocumentation * @module std */ import { ListContainer } from "../internal/container/linear/ListContainer"; import { IDequeContainer } from "../base/container/IDequeContainer"; import { IListAlgorithm } from "../internal/container/linear/IListAlgorithm"; import { ListIterator } from "../internal/iterator/ListIterator"; import { ReverseIterator as ReverseIteratorBase } from "../internal/iterator/ReverseIterator"; import { IForwardIterator } from "../iterator/IForwardIterator"; import { BinaryPredicator } from "../internal/functional/BinaryPredicator"; import { Comparator } from "../internal/functional/Comparator"; import { UnaryPredicator } from "../internal/functional/UnaryPredicator"; /** * Doubly Linked List. * * @author Jeongho Nam - https://github.com/samchon */ export declare class List extends ListContainer, List.Iterator, List.ReverseIterator> implements IDequeContainer, List.Iterator, List.ReverseIterator>, IListAlgorithm> { private ptr_; /** * Default Constructor. */ constructor(); /** * Initializer Constructor. * * @param items Items to assign. */ constructor(items: Array); /** * Copy Constructor * * @param obj Object to copy. */ constructor(obj: List); /** * Fill Constructor. * * @param size Initial size. * @param val Value to fill. */ constructor(size: number, val: T); /** * Range Constructor. * * @param first Input iterator of the first position. * @param last Input iteartor of the last position. */ constructor(first: Readonly>, last: Readonly>); protected _Create_iterator(prev: List.Iterator, next: List.Iterator, val: T): List.Iterator; /** * @inheritDoc */ front(): T; /** * @inheritDoc */ front(val: T): void; /** * @inheritDoc */ back(): T; /** * @inheritDoc */ back(val: T): void; /** * @inheritDoc */ unique(binary_pred?: BinaryPredicator): void; /** * @inheritDoc */ remove(val: T): void; /** * @inheritDoc */ remove_if(pred: UnaryPredicator): void; /** * @inheritDoc */ merge(source: List, comp?: Comparator): void; /** * Transfer elements. * * @param pos Position to insert. * @param from Target container to transfer. */ splice(pos: List.Iterator, from: List): void; /** * Transfer a single element. * * @param pos Position to insert. * @param from Target container to transfer. * @param it Position of the single element to transfer. */ splice(pos: List.Iterator, from: List, it: List.Iterator): void; /** * Transfer range elements. * * @param pos Position to insert. * @param from Target container to transfer. * @param first Range of the first position to transfer. * @param last Rangee of the last position to transfer. */ splice(pos: List.Iterator, from: List, first: List.Iterator, last: List.Iterator): void; /** * @inheritDoc */ sort(comp?: Comparator): void; private _Quick_sort; private _Quick_sort_partition; /** * @inheritDoc */ reverse(): void; /** * @inheritDoc */ swap(obj: List): void; } /** * */ export declare namespace List { /** * Iterator of {@link List} * * @author Jeongho Nam - https://github.com/samchon */ class Iterator extends ListIterator, Iterator, ReverseIterator, T> { private source_ptr_; private constructor(); /** * @inheritDoc */ reverse(): ReverseIterator; /** * @inheritDoc */ source(): List; /** * @inheritDoc */ get value(): T; /** * @inheritDoc */ set value(val: T); equals(obj: Iterator): boolean; } /** * Reverse iterator of {@link List} * * @author Jeongho Nam - https://github.com/samchon */ class ReverseIterator extends ReverseIteratorBase, Iterator, ReverseIterator, T> { protected _Create_neighbor(base: Iterator): ReverseIterator; /** * @inheritDoc */ get value(): T; /** * @inheritDoc */ set value(val: T); } } //# sourceMappingURL=List.d.ts.map