1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
| "use strict";
|
| Object.defineProperty(exports, "t", {
| value: true
| });
|
| exports.default = void 0;
|
| var _Base = require("./Base");
|
| var _throwError = require("../../utils/throwError");
|
| class HashSetIterator extends _Base.HashContainerIterator {
| constructor(t, e, r, s) {
| super(t, e, s);
| this.container = r;
| }
| get pointer() {
| if (this.o === this.h) {
| (0, _throwError.throwIteratorAccessError)();
| }
| return this.o.u;
| }
| copy() {
| return new HashSetIterator(this.o, this.h, this.container, this.iteratorType);
| }
| }
|
| class HashSet extends _Base.HashContainer {
| constructor(t = []) {
| super();
| const e = this;
| t.forEach((function(t) {
| e.insert(t);
| }));
| }
| begin() {
| return new HashSetIterator(this.p, this.h, this);
| }
| end() {
| return new HashSetIterator(this.h, this.h, this);
| }
| rBegin() {
| return new HashSetIterator(this._, this.h, this, 1);
| }
| rEnd() {
| return new HashSetIterator(this.h, this.h, this, 1);
| }
| front() {
| return this.p.u;
| }
| back() {
| return this._.u;
| }
| insert(t, e) {
| return this.M(t, undefined, e);
| }
| getElementByPos(t) {
| if (t < 0 || t > this.i - 1) {
| throw new RangeError;
| }
| let e = this.p;
| while (t--) {
| e = e.B;
| }
| return e.u;
| }
| find(t, e) {
| const r = this.I(t, e);
| return new HashSetIterator(r, this.h, this);
| }
| forEach(t) {
| let e = 0;
| let r = this.p;
| while (r !== this.h) {
| t(r.u, e++, this);
| r = r.B;
| }
| }
| [Symbol.iterator]() {
| return function*() {
| let t = this.p;
| while (t !== this.h) {
| yield t.u;
| t = t.B;
| }
| }.bind(this)();
| }
| }
|
| var _default = HashSet;
|
| exports.default = _default;
| //# sourceMappingURL=HashSet.js.map
|
|