1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- if (!dojo._hasResource["dojox.collections.Set"]) { // _hasResource checks added
- // by build. Do not use
- // _hasResource directly in
- // your code.
- dojo._hasResource["dojox.collections.Set"] = true;
- dojo.provide("dojox.collections.Set");
- dojo.require("dojox.collections.ArrayList");
- (function() {
- var dxc = dojox.collections;
- dxc.Set = new (function() {
- function conv(arr) {
- if (arr.constructor == Array) {
- return new dojox.collections.ArrayList(arr); // dojox.collections.ArrayList
- }
- return arr; // dojox.collections.ArrayList
- }
- this.union = function(/* array */setA, /* array */setB) {
- // summary
- // Return the union of the two passed sets.
- setA = conv(setA);
- setB = conv(setB);
- var result = new dojox.collections.ArrayList(setA.toArray());
- var e = setB.getIterator();
- while (!e.atEnd()) {
- var item = e.get();
- if (!result.contains(item)) {
- result.add(item);
- }
- }
- return result; // dojox.collections.ArrayList
- };
- this.intersection = function(/* array */setA, /* array */setB) {
- // summary
- // Return the intersection of the two passed sets.
- setA = conv(setA);
- setB = conv(setB);
- var result = new dojox.collections.ArrayList();
- var e = setB.getIterator();
- while (!e.atEnd()) {
- var item = e.get();
- if (setA.contains(item)) {
- result.add(item);
- }
- }
- return result; // dojox.collections.ArrayList
- };
- this.difference = function(/* array */setA, /* array */setB) {
- // summary
- // Returns everything in setA that is not in setB.
- setA = conv(setA);
- setB = conv(setB);
- var result = new dojox.collections.ArrayList();
- var e = setA.getIterator();
- while (!e.atEnd()) {
- var item = e.get();
- if (!setB.contains(item)) {
- result.add(item);
- }
- }
- return result; // dojox.collections.ArrayList
- };
- this.isSubSet = function(/* array */setA, /* array */setB) {
- // summary
- // Returns if set B is a subset of set A.
- setA = conv(setA);
- setB = conv(setB);
- var e = setA.getIterator();
- while (!e.atEnd()) {
- if (!setB.contains(e.get())) {
- return false; // boolean
- }
- }
- return true; // boolean
- };
- this.isSuperSet = function(/* array */setA, /* array */setB) {
- // summary
- // Returns if set B is a superset of set A.
- setA = conv(setA);
- setB = conv(setB);
- var e = setB.getIterator();
- while (!e.atEnd()) {
- if (!setA.contains(e.get())) {
- return false; // boolean
- }
- }
- return true; // boolean
- };
- })();
- })();
- }
|