aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/util/NaturalNumbers.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-01-13 20:41:06 +0000
committerMichael Williamson <mike@zwobble.org>2016-01-13 20:41:06 +0000
commit6b3248373262ca30fff70728e24852bde8131042 (patch)
treeb5b96b583fbb5e4ec2fa771502328e6cc7a75d9f /src/main/java/org/zwobble/couscous/util/NaturalNumbers.java
parent6150fa0b469e54b7a211d0a4e585d3e37794df23 (diff)
Generate unique names for temporary variables
Diffstat (limited to 'src/main/java/org/zwobble/couscous/util/NaturalNumbers.java')
-rw-r--r--src/main/java/org/zwobble/couscous/util/NaturalNumbers.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/util/NaturalNumbers.java b/src/main/java/org/zwobble/couscous/util/NaturalNumbers.java
new file mode 100644
index 0000000..1a4b284
--- /dev/null
+++ b/src/main/java/org/zwobble/couscous/util/NaturalNumbers.java
@@ -0,0 +1,24 @@
+package org.zwobble.couscous.util;
+
+import java.util.Iterator;
+
+public class NaturalNumbers implements Iterable<Integer> {
+ public static final Iterable<Integer> INSTANCE = new NaturalNumbers();
+
+ @Override
+ public Iterator<Integer> iterator() {
+ return new Iterator<Integer>() {
+ private int next = 0;
+
+ @Override
+ public boolean hasNext() {
+ return true;
+ }
+
+ @Override
+ public Integer next() {
+ return next++;
+ }
+ };
+ }
+}