From: Marcus Boerger Date: Sun, 26 Sep 2004 21:21:45 +0000 (+0000) Subject: Add new examples X-Git-Tag: PRE_NEW_VM_GEN_PATCH~198 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=42bc4cd0cac4195e57938b80925987fec6170312;p=php Add new examples --- diff --git a/ext/spl/examples/iteratoriterator.inc b/ext/spl/examples/iteratoriterator.inc new file mode 100755 index 0000000000..3290fc767c --- /dev/null +++ b/ext/spl/examples/iteratoriterator.inc @@ -0,0 +1,77 @@ +getIterator(); + } + if ($iterator instanceof Iterator) + { + $this->iterator = $iterator; + } + else + { + throw new Exception("Classes that only implement Traversable can be wrapped only after converting class IteratorItaerator into c code"); + } + } + + /** \return the inner iterator as passed to the constructor + */ + function getInnerIterator() + { + return $this->iterator; + } + + /** \return whetehr the iterator is valid + */ + function valid() + { + return $this->iterator->valid(); + } + + /** \return current key + */ + function key() + { + return $this->iterator->key(); + } + + /** \return current value + */ + function current() + { + return $this->iterator->current(); + } + + /** forward to next element + */ + function next() + { + return $this->iterator->next(); + } + + /** rewind to the first element + */ + function rewind() + { + return $this->iterator->rewind(); + } + + /** The inner iterator must be public becaus ewhen this class will be + * converted to c code it won't no longer be available. + */ + private $iterator; +} + +?> \ No newline at end of file diff --git a/ext/spl/examples/outeriterator.inc b/ext/spl/examples/outeriterator.inc new file mode 100755 index 0000000000..49923bab45 --- /dev/null +++ b/ext/spl/examples/outeriterator.inc @@ -0,0 +1,13 @@ + \ No newline at end of file