]> granicus.if.org Git - php/commitdiff
- Update docu
authorMarcus Boerger <helly@php.net>
Mon, 1 Nov 2004 18:11:39 +0000 (18:11 +0000)
committerMarcus Boerger <helly@php.net>
Mon, 1 Nov 2004 18:11:39 +0000 (18:11 +0000)
ext/spl/doxygen.cfg
ext/spl/internal/cachingrecursiveiterator.inc
ext/spl/internal/filteriterator.inc
ext/spl/internal/limititerator.inc
ext/spl/internal/recursiveiterator.inc
ext/spl/internal/recursiveiteratoriterator.inc
ext/spl/spl.php

index c61e6987fe6a7f039e32dd7eee107695e4a7d053..a575dafd901fc14911d6f82d7903778fda26c87e 100755 (executable)
@@ -69,7 +69,8 @@ WARN_LOGFILE           =
 # configuration options related to the input files
 #---------------------------------------------------------------------------
 INPUT                  = spl.php \
-                         examples
+                         examples \
+                         internal
 FILE_PATTERNS          = *.inc \
                          *.php
 RECURSIVE              = NO
index 05012cd478febb06a51c06c843d74636c31ffcaf..3c9b6586690afdb01862a7f00adbf1e6fee034af 100755 (executable)
@@ -14,7 +14,7 @@
  * @author  Marcus Boerger
  * @version 1.1
  *
- * @See CachingIterator
+ * @see CachingIterator
  */
 class CachingRecursiveIterator extends CachingIterator implements RecursiveIterator
 {
index b3415434fe7e73345b9f1416aeb1fec86ef51822..eede4fbb644f7dc1407f2cf51356776f28030d7c 100755 (executable)
  * 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 
  * return selected (accepted) elements.
+ *
+ * The only thing that needs to be done to make this work is implementing 
+ * method accept(). Typically this invloves reading the current element or 
+ * key of the inner Iterator and checking whether it is acceptable.
  */
 abstract class FilterIterator implements OuterIterator
 {
index e81874e791152fd6b6405ee260d47087afb26bdf..8b275be9c20ee21c930c703df82a6022b07e7481 100755 (executable)
  * @author  Marcus Boerger
  * @version 1.1
  *
+ * A class that starts iteration at a certain offset and only iterates over
+ * a specified amount of elements.
+ *
+ * This class uses SeekableIterator::seek() if available and rewind() plus
+ * a skip loop otehrwise.
  */
 class LimitIterator implements OuterIterator
 {
index 02bf1a8d9112a114e1dea2e2ede74ecea66d96eb..b37c6901ab4f1c3ca87babc29b30b7dd5bd460ce 100755 (executable)
@@ -21,6 +21,7 @@ interface RecursiveIterator implements Iterator
        function hasChildren();
        
        /** @return the sub iterator for the current element
+        * @note The returned object must implement RecursiveIterator.
         */
        function getChildren();
 }
index 86801ac13fa77ce527090e48b35d85b6c7fb0ea3..bb06fdbf2d9d6302107c976335c18455dd5e713c 100755 (executable)
@@ -18,6 +18,9 @@ define('RIT_CHILD_FIRST', 2);
  * @author  Marcus Boerger
  * @version 1.1
  *
+ * The objects of this class are created by instances of RecursiveIterator. 
+ * Elements of those iterators may be traversable themselves. If so these 
+ * sub elements are recursed into.
  */
 class RecursiveIteratorIterator implements OuterIterator
 {
@@ -63,7 +66,7 @@ class RecursiveIteratorIterator implements OuterIterator
                return false;
        }
        
-       /** @reutrn current key
+       /** @return current key
         */
        function key()
        {
index a37036ff72787adc41bcce2b8dcac1d88fb4c710..9d1f01337646d25e774912838c3160f308e3facc 100755 (executable)
@@ -400,57 +400,6 @@ interface Iterator extends Traversable
        function valid();
 }
 
-/** @ingroup SPL
- * @brief Recursive iterator
- *
- * Interface for recursive traversal to be used with 
- * RecursiveIteratorIterator.
- */
-interface RecursiveIterator extends Iterator
-{
-       /** @return whether current element can be iterated itself.
-         */
-       function hasChildren();
-
-       /** @return an object that recursively iterates the current element.
-        * This object must implement RecursiveIterator.
-        */
-       function getChildren();
-}
-
-/** @ingroup SPL
- * @brief Class for recursive traversal. 
- *
- * The objects of this class are created by instances of RecursiveIterator. 
- * Elements of those iterators may be traversable themselves. If so these 
- * sub elements are recursed into.
- */
-class RecursiveIteratorIterator implements Iterator
-{
-       /** Construct an instance form a RecursiveIterator.
-        *
-        * @param $iterator inner root iterator
-        * @param $mode one of
-        *            - RIT_LEAVES_ONLY do not return elements that can be recursed.
-        *            - RIT_SELF_FIRST  show elements before their sub elements.
-        *            - RIT_CHILD_FIRST show elements after their sub elements.
-        *
-        * @note If you want to see only those elements which have sub elements then
-        *       use a ParentIterator.
-        */
-       function __construct(RecursiveIterator $iterator, $mode);
-
-       /** @return the level of recursion (>=0).
-        */
-       function getDepth();
-
-       /** @param $level the level of the sub iterator to return.
-        * @return the current inner sub iterator or the iterator at the 
-        * specified $level.
-        */
-       function getSubIterator([$level]);
-}
-
 /** @ingroup SPL
  * @brief This Interface allows to hook into the global count() function.
  */
@@ -461,21 +410,6 @@ interface Countable
        function count();
 }
 
-/** @ingroup SPL
- * @brief Seekable iterator
- *
- * This interface is used to optimize LimitIterator functionality. but it 
- * may also be used for other situations where seeking a specific offset is
- * required and easily possible.
- */
-interface SeekableIterator extends Iterator
-{
-       /** Seek to a specific position if available or throw an exception.
-        * @param $position offset to seek to.
-        */
-       function seek($position);
-}
-
 /** @ingroup SPL
  * @brief An Array wrapper
  *
@@ -596,142 +530,6 @@ class ArrayIterator implements SeekableIterator, ArrayAccess, Countable
        function count();
 }
 
-/** @ingroup SPL
- * @brief An iterator that filters other iterators
- * 
- * Iterator that wrapps around another iterator and only returns selected
- * elements of the inner iterator. The only thing that needs to be done to
- * make this work is implementing method accept(). Typically this invloves
- * reading the current element or key of the inner Iterator and checking
- * whether it is acceptable.
- */
-abstract class FilterIterator implements Iterator
-{
-       /** Construct an instance form a Iterator.
-        *
-        * @param $iterator inner iterator
-        */
-       function __construct(Iterator $iterator);
-
-       /** @return whether the current element of the inner iterator should be
-        * used as a current element of this iterator or if it should be skipped.
-        */
-       abstract function accept();
-       
-       /** @return the inner Iterator
-        */
-       function getInnerIterator();
-}
-
-/** @ingroup SPL
- * @brief Limiting iterator
- *
- * A class that starts iteration at a certain offset and only iterates over
- * a specified amount of elements.
- *
- * This class uses SeekableIterator::seek() if available and rewind() plus
- * a skip loop otehrwise.
- */
-class LimitIterator implements Iterator
-{
-       /** Construct an instance form a Iterator.
-        *
-        * @param $iterator inner iterator
-        * @param $offset   starting position (zero based)
-        * @param $count    amount of elements returned, if available)
-        */
-       function __construct(Iterator $iterator, $offset = 0, $count = -1);
-
-       /** @return whether the current element of the inner iterator should be
-        * used as a current element of this iterator or if it should be skipped.
-        */
-       abstract function accept();
-       
-       /** @return the inner Iterator
-        */
-       function getInnerIterator();
-       
-       /** Seek to a specific position if available or throw an exception.
-        * If the inner iterator is an instance of SeekableIterator its seek()
-        * method will be used. Otherwise the iterator will be rewound if
-        * necessary and then manually advanced element by element.
-        *
-        * @param $position index to seek to.
-        */
-       function seek($position);
-       
-       /** @return the current position (zero based)
-        */
-       function getPosition();
-}
-
-/** @ingroup SPL
- * @brief Iterator that shows only parents
- *
- * A recursive iterator that only returns elements that themselves can be 
- * trversed.
- */
-class ParentIterator extends FilterIterator implements RecursiveIterator
-{
-       /** Construct an instance form a RecursiveIterator.
-        *
-        * @param $iterator inner iterator
-        */
-       function __construct(RecursiveIterator $iterator);
-}
-
-/** @ingroup SPL
- * @brief Caching iterator
- *
- * This Iterator allways reads one ahead. That allows it to know whether
- * more elements are available.
- */
-class CachingIterator implements Iterator
-{
-       /** Construct an instance form a RecursiveIterator.
-        *
-        * @param $iterator  inner iterator
-        * @param flags Bitmask: 
-        *              - CIT_CALL_TOSTRING  whether to call __toString() for 
-        *                     every element. This is optional since it is not 
-        *                     always used nad takes an additional fcall.
-        */
-       function __construct(Iterator $iterator, $flags = CIT_CALL_TOSTRING);
-
-       /** @return whether the inner iterator is valid. That is this iterator
-        * is valid and has one more element.
-        */
-       function valid();
-
-       /** @return The last value from the inner iterators __toString() or
-        * (string) conversion. The value is only fetched when the __constructor
-        * was called with $getStrVal = true.
-        */
-       function __tostring();
-       
-       /** @return the inner Iterator
-        */
-       function getInnerIterator();
-}
-
-/** @ingroup SPL
- * @brief The recursive version of the CachingIterator.
- */
-class CachingRecursiveIterator extends CachingIterator implements RecursiveIterator
-{
-       /** Construct an instance form a RecursiveIterator.
-        *
-        * @param $iterator inner iterator
-        * @param $flags Bitmask: 
-        *              - CIT_CALL_TOSTRING  whether to call __toString() for 
-        *                     every element. This is optional since it is not 
-        *                     always used nad takes an additional fcall.
-        *              - CIT_CATCH_GET_CHILD whether to catch exceptions when 
-        *                     trying to get childs) 
-        */
-       function __construct(RecursiveIterator $iterator, $flags = CIT_CALL_TOSTRING);
-}
-
 /** @ingroup SPL
  * @brief Directory iterator
  */