Vector.d.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import SequentialContainer from './Base';
  2. import { initContainer } from "../ContainerBase";
  3. import { RandomIterator } from "./Base/RandomIterator";
  4. export declare class VectorIterator<T> extends RandomIterator<T> {
  5. copy(): VectorIterator<T>;
  6. }
  7. declare class Vector<T> extends SequentialContainer<T> {
  8. /**
  9. * @description Vector's constructor.
  10. * @param container Initialize container, must have a forEach function.
  11. * @param copy When the container is an array, you can choose to directly operate on the original object of
  12. * the array or perform a shallow copy. The default is shallow copy.
  13. */
  14. constructor(container?: initContainer<T>, copy?: boolean);
  15. clear(): void;
  16. begin(): VectorIterator<T>;
  17. end(): VectorIterator<T>;
  18. rBegin(): VectorIterator<T>;
  19. rEnd(): VectorIterator<T>;
  20. front(): T | undefined;
  21. back(): T | undefined;
  22. forEach(callback: (element: T, index: number) => void): void;
  23. getElementByPos(pos: number): T;
  24. eraseElementByPos(pos: number): void;
  25. eraseElementByValue(value: T): void;
  26. eraseElementByIterator(iter: VectorIterator<T>): VectorIterator<T>;
  27. pushBack(element: T): void;
  28. popBack(): void;
  29. setElementByPos(pos: number, element: T): void;
  30. insert(pos: number, element: T, num?: number): void;
  31. find(element: T): VectorIterator<T>;
  32. reverse(): void;
  33. unique(): void;
  34. sort(cmp?: (x: T, y: T) => number): void;
  35. [Symbol.iterator](): Generator<T, any, undefined>;
  36. }
  37. export default Vector;