OrderedSet.d.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import TreeContainer from './Base';
  2. import TreeIterator from './Base/TreeIterator';
  3. import { initContainer } from "../ContainerBase";
  4. export declare class OrderedSetIterator<K> extends TreeIterator<K, undefined> {
  5. get pointer(): K;
  6. copy(): OrderedSetIterator<K>;
  7. }
  8. declare class OrderedSet<K> extends TreeContainer<K, undefined> {
  9. /**
  10. * @param container The initialization container.
  11. * @param cmp The compare function.
  12. * @param enableIndex Whether to enable iterator indexing function.
  13. */
  14. constructor(container?: initContainer<K>, cmp?: (x: K, y: K) => number, enableIndex?: boolean);
  15. begin(): OrderedSetIterator<K>;
  16. end(): OrderedSetIterator<K>;
  17. rBegin(): OrderedSetIterator<K>;
  18. rEnd(): OrderedSetIterator<K>;
  19. front(): K | undefined;
  20. back(): K | undefined;
  21. forEach(callback: (element: K, index: number) => void): void;
  22. getElementByPos(pos: number): K;
  23. /**
  24. * @description Insert element to set.
  25. * @param _key The _key want to insert.
  26. * @param hint You can give an iterator hint to improve insertion efficiency.
  27. */
  28. insert(_key: K, hint?: OrderedSetIterator<K>): void;
  29. find(element: K): OrderedSetIterator<K>;
  30. lowerBound(_key: K): OrderedSetIterator<K>;
  31. upperBound(_key: K): OrderedSetIterator<K>;
  32. reverseLowerBound(_key: K): OrderedSetIterator<K>;
  33. reverseUpperBound(_key: K): OrderedSetIterator<K>;
  34. union(other: OrderedSet<K>): void;
  35. [Symbol.iterator](): Generator<K, void, undefined>;
  36. }
  37. export default OrderedSet;