home *** CD-ROM | disk | FTP | other *** search
- package COM.objectspace.jgl;
-
- public final class Reversing {
- private Reversing() {
- }
-
- public static void reverse(BidirectionalIterator var0, BidirectionalIterator var1) {
- if (!(var0.getContainer() instanceof Sequence)) {
- throw new IllegalArgumentException("iterator containers must be a Sequence");
- } else if (var0 instanceof RandomAccessIterator) {
- RandomAccessIterator var4 = (RandomAccessIterator)var0.clone();
- RandomAccessIterator var5 = (RandomAccessIterator)var1.clone();
-
- while(var4.less(var5)) {
- var5.retreat();
- Swapping.iterSwap(var4, var5);
- var4.advance();
- }
-
- } else {
- BidirectionalIterator var2 = (BidirectionalIterator)var0.clone();
- BidirectionalIterator var3 = (BidirectionalIterator)var1.clone();
-
- while(!var2.equals(var3)) {
- var3.retreat();
- if (var2.equals(var3)) {
- return;
- }
-
- Swapping.iterSwap(var2, var3);
- var2.advance();
- }
-
- }
- }
-
- public static void reverse(Container var0) {
- reverse((BidirectionalIterator)var0.start(), (BidirectionalIterator)var0.finish());
- }
-
- public static OutputIterator reverseCopy(BidirectionalIterator var0, BidirectionalIterator var1, OutputIterator var2) {
- if (!(var0.getContainer() instanceof Sequence)) {
- throw new IllegalArgumentException("iterator containers must be a Sequence");
- } else if (!(var1.getContainer() instanceof Sequence)) {
- throw new IllegalArgumentException("iterator containers must be a Sequence");
- } else {
- BidirectionalIterator var3 = (BidirectionalIterator)var1.clone();
- OutputIterator var4 = (OutputIterator)var2.clone();
-
- while(!var0.equals(var3)) {
- var3.retreat();
- var4.put(var3.get());
- var4.advance();
- }
-
- return var4;
- }
- }
-
- public static OutputIterator reverseCopy(Container var0, OutputIterator var1) {
- return reverseCopy((BidirectionalIterator)var0.start(), (BidirectionalIterator)var0.finish(), var1);
- }
-
- public static void reverseCopy(Container var0, Container var1) {
- reverseCopy((BidirectionalIterator)var0.start(), (BidirectionalIterator)var0.finish(), new InsertIterator(var1));
- }
- }
-