summaryrefslogtreecommitdiff
path: root/tests/exec/interval.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/exec/interval.cpp')
-rw-r--r--tests/exec/interval.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/exec/interval.cpp b/tests/exec/interval.cpp
new file mode 100644
index 0000000..81661e3
--- /dev/null
+++ b/tests/exec/interval.cpp
@@ -0,0 +1,29 @@
+#include <iostream>
+
+class interval {
+public:
+ int low, hi;
+ interval(int low, int hi);
+ void iterate(int& i);
+ int ok(int& i);
+ int next(int& i);
+};
+
+interval::interval(int low, int hi) {
+ this->low = low;
+ this->hi = hi;
+}
+
+void interval::iterate(int& i) { i = low; }
+
+int interval::ok(int& i) { return i <= hi; }
+
+int interval::next(int& i) { return i++; }
+
+int main() {
+ interval s = interval(3, 10);
+ int i;
+ s.iterate(i);
+ while(s.ok(i))
+ std::cout << s.next(i) << "\n";
+}