summaryrefslogtreecommitdiff
path: root/include/valueiterator.h
diff options
context:
space:
mode:
authorEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2014-03-17 09:23:09 +0100
committerEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2014-03-17 09:23:09 +0100
commitcf1cd5c771db918dc73609848780f1b51f1f47f4 (patch)
tree887c92bd7d62d3f1db4a790766200b26e57e0116 /include/valueiterator.h
parent87bc164a5100b980ff75b5304623938f85eb2c0e (diff)
fixed ValueIterator to compile on php 5.3 and php 5.4, fixed post increment operator for ValueIterator
Diffstat (limited to 'include/valueiterator.h')
-rw-r--r--include/valueiterator.h42
1 files changed, 40 insertions, 2 deletions
diff --git a/include/valueiterator.h b/include/valueiterator.h
index 11c412e..037f061 100644
--- a/include/valueiterator.h
+++ b/include/valueiterator.h
@@ -36,21 +36,59 @@ public:
ValueIterator(struct _hashtable *hashtable, bool first);
/**
+ * Copy constructor
+ * @param that
+ */
+ ValueIterator(const ValueIterator &that);
+
+ /**
* Destructor
*/
virtual ~ValueIterator() {}
/**
- * Increment position
+ * Increment position (pre-increment)
* @return ValueIterator
*/
ValueIterator &operator++();
/**
- * Decrement position
+ * Increment position (post-increment)
+ * @return ValueIterator
+ */
+ ValueIterator operator++(int)
+ {
+ // make a copy
+ ValueIterator copy(*this);
+
+ // increment current object
+ ++(*this);
+
+ // and return the unchanged original
+ return copy;
+ }
+
+ /**
+ * Decrement position (pre-decrement)
* @return ValueIterator
*/
ValueIterator &operator--();
+
+ /**
+ * Increment position (post-decrement)
+ * @return ValueIterator
+ */
+ ValueIterator operator--(int)
+ {
+ // make a copy
+ ValueIterator copy(*this);
+
+ // decrement current object
+ --(*this);
+
+ // and return the unchanged original
+ return copy;
+ }
/**
* Compare with other iterator