summaryrefslogtreecommitdiff
path: root/ext/spl/examples/cachingrecursiveiterator.inc
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/examples/cachingrecursiveiterator.inc')
-rw-r--r--ext/spl/examples/cachingrecursiveiterator.inc47
1 files changed, 0 insertions, 47 deletions
diff --git a/ext/spl/examples/cachingrecursiveiterator.inc b/ext/spl/examples/cachingrecursiveiterator.inc
deleted file mode 100644
index dfeeea54e7..0000000000
--- a/ext/spl/examples/cachingrecursiveiterator.inc
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-class CachingRecursiveIterator extends CachingIterator implements RecursiveIterator
-{
- protected $hasChildren;
- protected $getChildren;
- protected $catch_get_child;
-
- function __construct(RecursiveIterator $it, $flags = CIT_CALL_TOSTRING)
- {
- parent::__construct($it, $flags);
- }
-
- function next()
- {
- if ($this->hasChildren = $this->it->hasChildren()) {
- try {
- //$this->getChildren = new CachingRecursiveIterator($this->it->getChildren(), $this->flags);
- // workaround memleaks...
- $child = $this->it->getChildren();
- $this->getChildren = new CachingRecursiveIterator($child, $this->flags);
- }
- catch(Exception $e) {
- if (!$this->flags & CIT_CATCH_GET_CHILD) {
- throw $e;
- }
- $this->hasChildren = false;
- $this->getChildren = NULL;
- }
- } else {
- $this->getChildren = NULL;
- }
- parent::next();
- }
-
- function hasChildren()
- {
- return $this->hasChildren;
- }
-
- function getChildren()
- {
- return $this->getChildren;
- }
-}
-
-?> \ No newline at end of file