helly           Fri Oct 29 16:58:59 2004 EDT

  Modified files:              
    /php-src/ext/spl/internal   cachingiterator.inc 
                                cachingrecursiveiterator.inc 
                                filteriterator.inc limititerator.inc 
                                outeriterator.inc parentiterator.inc 
                                recursiveiterator.inc 
                                recursiveiteratoriterator.inc 
                                seekableiterator.inc 
  Log:
  - Update docu
  
  
http://cvs.php.net/diff.php/php-src/ext/spl/internal/cachingiterator.inc?r1=1.2&r2=1.3&ty=u
Index: php-src/ext/spl/internal/cachingiterator.inc
diff -u php-src/ext/spl/internal/cachingiterator.inc:1.2 
php-src/ext/spl/internal/cachingiterator.inc:1.3
--- php-src/ext/spl/internal/cachingiterator.inc:1.2    Fri Oct 29 16:12:56 2004
+++ php-src/ext/spl/internal/cachingiterator.inc        Fri Oct 29 16:58:58 2004
@@ -1,8 +1,23 @@
 <?php
 
+/** @file cachingiterator.inc
+ * @ingroup Internal
+ * @brief class CachingIterator
+ * @author  Marcus Boerger
+ * @date    2003 - 2004
+ *
+ * SPL - Standard PHP Library
+ */
+
 define('CIT_CALL_TOSTRING', 1);
 define('CIT_CATCH_GET_CHILD', 2);
 
+/**
+ * @brief   Cached Iteration over another Iterator
+ * @author  Marcus Boerger
+ * @version 1.1
+ *
+ */
 class CachingIterator implements OuterIterator
 {
        protected $it;
@@ -11,6 +26,12 @@
        protected $valid;
        protected $strValue;
 
+       /** Construct from another iterator
+        *
+        * @param it    Iterator to cache
+        * @param flags Bitmask: 
+        *              - CIT_CALL_TOSTRING  (whether to call __toString() for every 
element)
+        */
        function __construct(Iterator $it, $flags = CIT_CALL_TOSTRING)
        {
                $this->it = $it;
@@ -18,12 +39,16 @@
                $this->next();
        }
 
+       /** Rewind the Iterator
+        */
        function rewind()
        {
                $this->it->rewind();
                $this->next();
        }
        
+       /** Forward to the next element
+        */
        function next()
        {
                if ($this->valid = $this->it->valid()) {
@@ -44,31 +69,45 @@
                $this->it->next();
        }
        
+       /** @return whether teh iterator is valid
+        */
        function valid()
        {
                return $this->valid;
        }
 
+       /** @return whether there is one more element
+        */
        function hasNext()
        {
                return $this->it->valid();
        }
        
+       /** @return the current element
+        */
        function current()
        {
                return $this->current;
        }
 
+       /** @return the current key
+        */
        function key()
        {
                return $this->key;
        }
 
+       /** Aggregate the inner iterator
+        */
        function __call($func, $params)
        {
                return call_user_func_array(array($this->it, $func), $params);
        }
        
+       /** @return the string represenatation that was generated for the current 
+        *          element
+        * @throw exception when CIT_CALL_TOSTRING was not specified in constructor
+        */
        function __toString()
        {
                if (!$this->flags & CIT_CALL_TOSTRING) {
@@ -77,6 +116,9 @@
                return $this->strValue;
        }
        
+       /**
+        * @return The inner iterator
+        */     
        function getInnerIterator()
        {
                return $this->it;
http://cvs.php.net/diff.php/php-src/ext/spl/internal/cachingrecursiveiterator.inc?r1=1.1&r2=1.2&ty=u
Index: php-src/ext/spl/internal/cachingrecursiveiterator.inc
diff -u php-src/ext/spl/internal/cachingrecursiveiterator.inc:1.1 
php-src/ext/spl/internal/cachingrecursiveiterator.inc:1.2
--- php-src/ext/spl/internal/cachingrecursiveiterator.inc:1.1   Sat May  8 08:24:15 
2004
+++ php-src/ext/spl/internal/cachingrecursiveiterator.inc       Fri Oct 29 16:58:58 
2004
@@ -1,15 +1,38 @@
 <?php
 
+/** @file cachingrecursiveiterator.inc
+ * @ingroup Internal
+ * @brief class CachingRecursiveIterator
+ * @author  Marcus Boerger
+ * @date    2003 - 2004
+ *
+ * SPL - Standard PHP Library
+ */
+
+/**
+ * @brief   
+ * @author  Marcus Boerger
+ * @version 1.1
+ */
 class CachingRecursiveIterator extends CachingIterator implements RecursiveIterator
 {
        protected $hasChildren;
        protected $getChildren;
 
+       /** Construct from another iterator
+        *
+        * @param it    Iterator to cache
+        * @param flags Bitmask: 
+        *              - CIT_CALL_TOSTRING   (whether to call __toString() for every 
element)
+        *              - CIT_CATCH_GET_CHILD (whether to catch exceptions when trying 
to get childs)
+        */
        function __construct(RecursiveIterator $it, $flags = CIT_CALL_TOSTRING)
        {
                parent::__construct($it, $flags);
        }
-       
+
+       /** Rewind Iterator
+        */     
        function rewind();
        {
           $this->hasChildren = false;
@@ -17,6 +40,9 @@
           parent::rewind();
        }
 
+       /** Forward to next element if necessary then an Iterator for the Children
+        * will be created.
+        */
        function next()
        {
                if ($this->hasChildren = $this->it->hasChildren()) {
@@ -39,11 +65,19 @@
                parent::next();
        }
 
+       /** @return whether the current element has children
+        * @note The check whether the Iterator for the children can be created was
+        *       already executed. Hence when flag CIT_CATCH_GET_CHILD was given in
+        *       constructor this fucntion returns false so that getChildren does 
+        *       not try to access those children.
+        */
        function hasChildren()
        {
                return $this->hasChildren;
        }
 
+       /** @return An Iterator for the children
+        */
        function getChildren()
        {
                return $this->getChildren;
http://cvs.php.net/diff.php/php-src/ext/spl/internal/filteriterator.inc?r1=1.2&r2=1.3&ty=u
Index: php-src/ext/spl/internal/filteriterator.inc
diff -u php-src/ext/spl/internal/filteriterator.inc:1.2 
php-src/ext/spl/internal/filteriterator.inc:1.3
--- php-src/ext/spl/internal/filteriterator.inc:1.2     Fri Oct 29 16:12:56 2004
+++ php-src/ext/spl/internal/filteriterator.inc Fri Oct 29 16:58:58 2004
@@ -1,9 +1,18 @@
 <?php
 
+/** @file filteriterator.inc
+ * @ingroup Internal
+ * @brief class FilterIterator
+ * @author  Marcus Boerger
+ * @date    2003 - 2004
+ *
+ * SPL - Standard PHP Library
+ */
+
 /**
  * @brief   Regular expression filter for string iterators
  * @author  Marcus Boerger
- * @version 1.0
+ * @version 1.1
  *
  * Instances of this class act as a filter around iterators. In other words 
  * you can put an iterator into the constructor and the instance will only 
http://cvs.php.net/diff.php/php-src/ext/spl/internal/limititerator.inc?r1=1.2&r2=1.3&ty=u
Index: php-src/ext/spl/internal/limititerator.inc
diff -u php-src/ext/spl/internal/limititerator.inc:1.2 
php-src/ext/spl/internal/limititerator.inc:1.3
--- php-src/ext/spl/internal/limititerator.inc:1.2      Fri Oct 29 16:12:56 2004
+++ php-src/ext/spl/internal/limititerator.inc  Fri Oct 29 16:58:58 2004
@@ -1,5 +1,20 @@
 <?php
 
+/** @file limititerator.inc
+ * @ingroup Internal
+ * @brief class LimitIterator
+ * @author  Marcus Boerger
+ * @date    2003 - 2004
+ *
+ * SPL - Standard PHP Library
+ */
+
+/**
+ * @brief   Limited Iteration over another Iterator
+ * @author  Marcus Boerger
+ * @version 1.1
+ *
+ */
 class LimitIterator implements OuterIterator
 {
        protected $it;
@@ -7,7 +22,12 @@
        protected $count;
        private $pos;
 
-       // count === NULL means all
+       /** Construct
+        *
+        * @param it     Iterator to limit
+        * @param offset Offset to first element
+        * @param count  Maximum number of elements to show or NULL for all
+        */
        function __construct(Iterator $it, $offset = 0, $count = -1)
        {
                if ($offset < 0) {
@@ -22,6 +42,11 @@
                $this->pos    = 0;
        }
        
+       /** Seek to specified position
+        * @param position offset to seek to (relative to beginning not offset
+        *                 specified in constructor).
+        * @throw exception when position is invalid
+        */
        function seek($position) {
                if ($position < $this->offset) {
                        throw new exception('Cannot seek to '.$position.' which is 
below offset '.$this->offset);
@@ -39,6 +64,8 @@
                }
        }
 
+    /** Rewind to offset specified in constructor
+     */
        function rewind()
        {
                $this->it->rewind();
@@ -46,24 +73,35 @@
                $this->seek($this->offset);
        }
        
+       /** @return whether iterator is valid
+        */
        function valid() {
                return ($this->count == -1 || $this->pos < $this->offset + 
$this->count)
                         && $this->it->valid();
        }
        
+       /** @return current key
+        */
        function key() {
                return $this->it->key();
        }
 
+       /** @return current element
+        */
        function current() {
                return $this->it->current();
        }
 
+       /** Forward to nect element
+        */
        function next() {
                $this->it->next();
                $this->pos++;
        }
 
+       /** @return current position relative to zero (not to offset specified in 
+        *          constructor).
+        */
        function getPosition() {
                return $this->pos;
        }
http://cvs.php.net/diff.php/php-src/ext/spl/internal/outeriterator.inc?r1=1.1&r2=1.2&ty=u
Index: php-src/ext/spl/internal/outeriterator.inc
diff -u php-src/ext/spl/internal/outeriterator.inc:1.1 
php-src/ext/spl/internal/outeriterator.inc:1.2
--- php-src/ext/spl/internal/outeriterator.inc:1.1      Fri Oct 29 16:12:56 2004
+++ php-src/ext/spl/internal/outeriterator.inc  Fri Oct 29 16:58:58 2004
@@ -1,11 +1,22 @@
 <?php
 
-/** \ingroup SPL
- * \brief Interface to access inner iterator of iterator wrappers
+/** @file outeriterator.inc
+ * @ingroup Internal
+ * @brief class OuterIterator
+ * @author  Marcus Boerger
+ * @date    2003 - 2004
+ *
+ * SPL - Standard PHP Library
+ */
+
+/**
+ * @brief   Interface to access the current inner iteraor of iterator wrappers
+ * @author  Marcus Boerger
+ * @version 1.0
  */
 interface OuterIterator extends Iterator
 {
-       /** \return inner iterator
+       /** @return inner iterator
         */
     function getInnerIterator();
 }
http://cvs.php.net/diff.php/php-src/ext/spl/internal/parentiterator.inc?r1=1.1&r2=1.2&ty=u
Index: php-src/ext/spl/internal/parentiterator.inc
diff -u php-src/ext/spl/internal/parentiterator.inc:1.1 
php-src/ext/spl/internal/parentiterator.inc:1.2
--- php-src/ext/spl/internal/parentiterator.inc:1.1     Sat May  8 08:24:15 2004
+++ php-src/ext/spl/internal/parentiterator.inc Fri Oct 29 16:58:58 2004
@@ -1,21 +1,48 @@
 <?php
 
+/** @file parentiterator.inc
+ * @ingroup Internal
+ * @brief class FilterIterator
+ * @author  Marcus Boerger
+ * @date    2003 - 2004
+ *
+ * SPL - Standard PHP Library
+ */
+
+/**
+ * @brief   Iterator to filter parents
+ * @author  Marcus Boerger
+ * @version 1.1
+ *
+ * This extended FilterIterator allows a recursive iteration using 
+ * RecursiveIteratorIterator that only shows those elements which have 
+ * children.
+ */
 class ParentIterator extends FilterIterator implements RecursiveIterator
 {
+       /** @param $it the RecursiveIterator to filter
+        */
        function __construct(RecursiveIterator $it)
        {
                parent::__construct($it);
        }
+       
+       /** @return whetehr the current element has children
+        */
        function accept()
        {
                return $this->it->hasChildren();
        }
 
+       /** @return whether the current element has children
+        */
        function hasChildren()
        {
                return $this->it->hasChildren();
        }
 
+       /** @return the ParentIterator for the current elements children
+        */
        function getChildren()
        {
                return new ParentIterator($this->it->getChildren());
http://cvs.php.net/diff.php/php-src/ext/spl/internal/recursiveiterator.inc?r1=1.1&r2=1.2&ty=u
Index: php-src/ext/spl/internal/recursiveiterator.inc
diff -u php-src/ext/spl/internal/recursiveiterator.inc:1.1 
php-src/ext/spl/internal/recursiveiterator.inc:1.2
--- php-src/ext/spl/internal/recursiveiterator.inc:1.1  Sat May  8 08:24:15 2004
+++ php-src/ext/spl/internal/recursiveiterator.inc      Fri Oct 29 16:58:58 2004
@@ -1,8 +1,27 @@
 <?php
 
+/** @file recursiveiterator.inc
+ * @ingroup Internal
+ * @brief class RecursiveIterator
+ * @author  Marcus Boerger
+ * @date    2003 - 2004
+ *
+ * SPL - Standard PHP Library
+ */
+
+/**
+ * @brief   Interface for recursive iteration with RecursiveIteratorIterator
+ * @author  Marcus Boerger
+ * @version 1.0
+ */
 interface RecursiveIterator implements Iterator
 {
+       /** @return whether the current element has children
+        */
        function hasChildren();
+       
+       /** @return the sub iterator for the current element
+        */
        function getChildren();
 }
 
http://cvs.php.net/diff.php/php-src/ext/spl/internal/recursiveiteratoriterator.inc?r1=1.2&r2=1.3&ty=u
Index: php-src/ext/spl/internal/recursiveiteratoriterator.inc
diff -u php-src/ext/spl/internal/recursiveiteratoriterator.inc:1.2 
php-src/ext/spl/internal/recursiveiteratoriterator.inc:1.3
--- php-src/ext/spl/internal/recursiveiteratoriterator.inc:1.2  Fri Oct 29 16:12:57 
2004
+++ php-src/ext/spl/internal/recursiveiteratoriterator.inc      Fri Oct 29 16:58:58 
2004
@@ -1,9 +1,22 @@
 <?php
 
+/** @file recursiveiteratoriterator.inc
+ * @ingroup Internal
+ * @brief class RecursiveIteratorIterator
+ * @author  Marcus Boerger
+ * @date    2003 - 2004
+ *
+ * SPL - Standard PHP Library
+ */
+
+define('RIT_LEAVES_ONLY', 0);
+define('RIT_SELF_FIRST',  1);
+define('RIT_CHILD_FIRST', 2);
+
 /**
  * @brief   Iterates through recursive iterators
  * @author  Marcus Boerger
- * @version 1.0
+ * @version 1.1
  *
  */
 class RecursiveIteratorIterator implements OuterIterator
@@ -11,12 +24,21 @@
        protected $ait = array();
        protected $count = 0;
 
-       function __construct(RecursiveIterator $it)
+       /** Construct from RecursiveIterator
+        *
+        * @param it     RecursiveIterator to iterate
+        * @param flags  Operation mode:
+        *               - RIT_LEAVES_ONLY only show leaves
+        *               - RIT_SELF_FIRST  show parents prior to their childs
+        *               - RIT_CHILD_FIRST show all childs prior to their parent
+        */
+       function __construct(RecursiveIterator $it, $flags)
        {
                $this->ait[0] = $it;
        }
 
-
+       /** Rewind to top iterator as set in constructor
+        */
        function rewind()
        {
                while ($this->count) {
@@ -26,6 +48,8 @@
                $this->ait[0]->recursed = false;
        }
        
+       /** @return whether iterator is valid
+        */
        function valid()
        {
                $count = $this->count;
@@ -39,18 +63,24 @@
                return false;
        }
        
+       /** @reutrn current key
+        */
        function key()
        {
                $it = $this->ait[$this->count];
                return $it->key();
        }
        
+       /** @return current element
+        */
        function current()
        {
                $it = $this->ait[$this->count];
                return $it->current();
        }
        
+       /** Forward to next element
+        */
        function next()
        {
                while ($this->count) {
@@ -83,7 +113,10 @@
                        }
                }
        }
-       
+
+       /** @return Sub Iterator at given level or if unspecified the current sub 
+        *          Iterator
+        */
        function getSubIterator($level = NULL)
        {
                if (is_null($level)) {
@@ -100,6 +133,8 @@
                return $this->it;
        }
 
+       /** @return Current Depth (Number of parents)
+        */
        function getDepth()
        {
                return $this->level;
http://cvs.php.net/diff.php/php-src/ext/spl/internal/seekableiterator.inc?r1=1.1&r2=1.2&ty=u
Index: php-src/ext/spl/internal/seekableiterator.inc
diff -u php-src/ext/spl/internal/seekableiterator.inc:1.1 
php-src/ext/spl/internal/seekableiterator.inc:1.2
--- php-src/ext/spl/internal/seekableiterator.inc:1.1   Sat May  8 08:24:15 2004
+++ php-src/ext/spl/internal/seekableiterator.inc       Fri Oct 29 16:58:58 2004
@@ -1,6 +1,17 @@
 <?php
 
-/** \brief seekable iterator
+/** @file seekableiterator.inc
+ * @ingroup Internal
+ * @brief class SeekableIterator
+ * @author  Marcus Boerger
+ * @date    2003 - 2004
+ *
+ * SPL - Standard PHP Library
+ */
+
+/** @brief seekable iterator
+ * @author  Marcus Boerger
+ * @version 1.0
  *
  * Turns a normal iterator ino a seekable iterator. When there is a way
  * to seek on an iterator LimitIterator can use this to efficiently rewind

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to