home *** CD-ROM | disk | FTP | other *** search
- package COM.objectspace.jgl;
-
- public final class SetOperations {
- public static boolean includes(InputIterator var0, InputIterator var1, InputIterator var2, InputIterator var3) {
- return includes(var0, var1, var2, var3, new HashComparator());
- }
-
- public static boolean includes(InputIterator var0, InputIterator var1, InputIterator var2, InputIterator var3, BinaryPredicate var4) {
- InputIterator var5 = (InputIterator)var0.clone();
- InputIterator var6 = (InputIterator)var2.clone();
-
- while(!var5.equals(var1) && !var6.equals(var3)) {
- if (var4.execute(var6.get(), var5.get())) {
- return false;
- }
-
- if (var4.execute(var5.get(), var6.get())) {
- var5.advance();
- } else {
- var5.advance();
- var6.advance();
- }
- }
-
- return var6.equals(var3);
- }
-
- public static boolean includes(Container var0, Container var1, BinaryPredicate var2) {
- return includes(var0.start(), var0.finish(), var1.start(), var1.finish(), var2);
- }
-
- public static OutputIterator setUnion(InputIterator var0, InputIterator var1, InputIterator var2, InputIterator var3, OutputIterator var4) {
- return setUnion(var0, var1, var2, var3, var4, new HashComparator());
- }
-
- public static OutputIterator setUnion(InputIterator var0, InputIterator var1, InputIterator var2, InputIterator var3, OutputIterator var4, BinaryPredicate var5) {
- InputIterator var6 = (InputIterator)var0.clone();
- InputIterator var7 = (InputIterator)var2.clone();
- OutputIterator var8 = (OutputIterator)var4.clone();
-
- while(!var6.equals(var1) && !var7.equals(var3)) {
- if (var5.execute(var6.get(), var7.get())) {
- var8.put(var6.get());
- var8.advance();
- var6.advance();
- } else if (var5.execute(var7.get(), var6.get())) {
- var8.put(var7.get());
- var8.advance();
- var7.advance();
- } else {
- var8.put(var6.get());
- var8.advance();
- var6.advance();
- var7.advance();
- }
- }
-
- return Copying.copy(var7, var3, Copying.copy(var6, var1, var8));
- }
-
- public static OutputIterator setUnion(Container var0, Container var1, OutputIterator var2, BinaryPredicate var3) {
- return setUnion(var0.start(), var0.finish(), var1.start(), var1.finish(), var2, var3);
- }
-
- public static OutputIterator setIntersection(InputIterator var0, InputIterator var1, InputIterator var2, InputIterator var3, OutputIterator var4) {
- return setIntersection(var0, var1, var2, var3, var4, new HashComparator());
- }
-
- public static OutputIterator setIntersection(InputIterator var0, InputIterator var1, InputIterator var2, InputIterator var3, OutputIterator var4, BinaryPredicate var5) {
- InputIterator var6 = (InputIterator)var0.clone();
- InputIterator var7 = (InputIterator)var2.clone();
- OutputIterator var8 = (OutputIterator)var4.clone();
-
- while(!var6.equals(var1) && !var7.equals(var3)) {
- if (var5.execute(var6.get(), var7.get())) {
- var6.advance();
- } else if (var5.execute(var7.get(), var6.get())) {
- var7.advance();
- } else {
- var8.put(var6.get());
- var8.advance();
- var6.advance();
- var7.advance();
- }
- }
-
- return var8;
- }
-
- public static OutputIterator setIntersection(Container var0, Container var1, OutputIterator var2, BinaryPredicate var3) {
- return setIntersection(var0.start(), var0.finish(), var1.start(), var1.finish(), var2, var3);
- }
-
- public static OutputIterator setDifference(InputIterator var0, InputIterator var1, InputIterator var2, InputIterator var3, OutputIterator var4) {
- return setDifference(var0, var1, var2, var3, var4, new HashComparator());
- }
-
- public static OutputIterator setDifference(InputIterator var0, InputIterator var1, InputIterator var2, InputIterator var3, OutputIterator var4, BinaryPredicate var5) {
- InputIterator var6 = (InputIterator)var0.clone();
- InputIterator var7 = (InputIterator)var2.clone();
- OutputIterator var8 = (OutputIterator)var4.clone();
-
- while(!var6.equals(var1) && !var7.equals(var3)) {
- if (var5.execute(var6.get(), var7.get())) {
- var8.put(var6.get());
- var8.advance();
- var6.advance();
- } else if (var5.execute(var7.get(), var6.get())) {
- var7.advance();
- } else {
- var6.advance();
- var7.advance();
- }
- }
-
- return Copying.copy(var6, var1, var8);
- }
-
- public static OutputIterator setDifference(Container var0, Container var1, OutputIterator var2, BinaryPredicate var3) {
- return setDifference(var0.start(), var0.finish(), var1.start(), var1.finish(), var2, var3);
- }
-
- public static OutputIterator setSymmetricDifference(InputIterator var0, InputIterator var1, InputIterator var2, InputIterator var3, OutputIterator var4) {
- return setSymmetricDifference(var0, var1, var2, var3, var4, new HashComparator());
- }
-
- public static OutputIterator setSymmetricDifference(InputIterator var0, InputIterator var1, InputIterator var2, InputIterator var3, OutputIterator var4, BinaryPredicate var5) {
- InputIterator var6 = (InputIterator)var0.clone();
- InputIterator var7 = (InputIterator)var2.clone();
- OutputIterator var8 = (OutputIterator)var4.clone();
-
- while(!var6.equals(var1) && !var7.equals(var3)) {
- if (var5.execute(var6.get(), var7.get())) {
- var8.put(var6.get());
- var8.advance();
- var6.advance();
- } else if (var5.execute(var7.get(), var6.get())) {
- var8.put(var7.get());
- var8.advance();
- var7.advance();
- } else {
- var6.advance();
- var7.advance();
- }
- }
-
- return Copying.copy(var7, var3, Copying.copy(var6, var1, var8));
- }
-
- public static OutputIterator setSymmetricDifference(Container var0, Container var1, OutputIterator var2, BinaryPredicate var3) {
- return setSymmetricDifference(var0.start(), var0.finish(), var1.start(), var1.finish(), var2, var3);
- }
- }
-