aboutsummaryrefslogtreecommitdiff
path: root/dw/iterator.hh
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2014-10-23 12:29:38 +0200
committerSebastian Geerken <devnull@localhost>2014-10-23 12:29:38 +0200
commitd39956a7b0a38ebeda147d52aa734e992c425d9f (patch)
treeaa66d82bb61a4c38ff0de04bec8dad62d69f6294 /dw/iterator.hh
parent3afc8db366cdfed92f5c53a606cfc82e551c9084 (diff)
More work on drawing: interruptions work now halfway.
Diffstat (limited to 'dw/iterator.hh')
-rw-r--r--dw/iterator.hh24
1 files changed, 24 insertions, 0 deletions
diff --git a/dw/iterator.hh b/dw/iterator.hh
index 9460adc4..773cf303 100644
--- a/dw/iterator.hh
+++ b/dw/iterator.hh
@@ -263,6 +263,30 @@ public:
hpos, vpos); }
};
+/**
+ * \brief Some completely different kind of iterator: ...
+ */
+class StackingIteratorStack
+{
+private:
+ lout::container::untyped::Vector *vector;
+ int topPos;
+
+public:
+ StackingIteratorStack ();
+ ~StackingIteratorStack ();
+
+ void intoStringBuffer(lout::misc::StringBuffer *sb);
+
+ inline bool atRealTop () { return topPos == vector->size () - 1; }
+ inline lout::object::Object *getTop () { return vector->get (topPos); }
+
+ void push (lout::object::Object *object);
+ void pop ();
+ void forward ();
+ void backward ();
+};
+
} // namespace core
} // namespace dw