aboutsummaryrefslogtreecommitdiff
path: root/dw/iterator.hh
diff options
context:
space:
mode:
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