<?php
/** @file cachingiterator.inc
- * @ingroup Internal
+ * @ingroup SPL
* @brief class CachingIterator
* @author Marcus Boerger
* @date 2003 - 2004
define('CIT_CATCH_GET_CHILD', 2);
/**
- * @brief Cached Iteration over another Iterator
+ * @brief Cached iteration over another Iterator
* @author Marcus Boerger
* @version 1.1
*
+ * This iterator wrapper does a one ahead iteration. This way it knows whether
+ * the inner iterator has one more element.
+ *
+ * @note If you want to convert the elements into strings and the inner
+ * Iterator is an internal Iterator then you need to provide the
+ * flag CIT_CALL_TOSTRING to do the conversion when the actual element
+ * is being fetched. Otherwise the conversion would happen with the
+ * already changed iterator. If you do not need this then it you should
+ * omit this flag because it costs unneccessary work and time.
*/
class CachingIterator implements OuterIterator
{
}
/** Aggregate the inner iterator
+ *
+ * @param func Name of method to invoke
+ * @param params Array of parameters to pass to method
*/
function __call($func, $params)
{
<?php
/** @file cachingrecursiveiterator.inc
- * @ingroup Internal
+ * @ingroup SPL
* @brief class CachingRecursiveIterator
* @author Marcus Boerger
* @date 2003 - 2004
*/
/**
- * @brief
+ * @brief Cached recursive iteration over another Iterator
* @author Marcus Boerger
* @version 1.1
+ *
+ * @See CachingIterator
*/
class CachingRecursiveIterator extends CachingIterator implements RecursiveIterator
{
<?php
/** @file filteriterator.inc
- * @ingroup Internal
+ * @ingroup SPL
* @brief class FilterIterator
* @author Marcus Boerger
* @date 2003 - 2004
{
return $this->it;
}
+
+ /** Aggregate the inner iterator
+ *
+ * @param func Name of method to invoke
+ * @param params Array of parameters to pass to method
+ */
+ function __call($func, $params)
+ {
+ return call_user_func_array(array($this->it, $func), $params);
+ }
}
?>
\ No newline at end of file
return $this->iterator->rewind();
}
+ /** Aggregate the inner iterator
+ *
+ * @param func Name of method to invoke
+ * @param params Array of parameters to pass to method
+ */
+ function __call($func, $params)
+ {
+ return call_user_func_array(array($this->it, $func), $params);
+ }
+
/** The inner iterator must be private because when this class will be
* converted to c code it won't no longer be available.
*/
<?php
/** @file limititerator.inc
- * @ingroup Internal
+ * @ingroup SPL
* @brief class LimitIterator
* @author Marcus Boerger
* @date 2003 - 2004
{
return $this->it;
}
+
+ /** Aggregate the inner iterator
+ *
+ * @param func Name of method to invoke
+ * @param params Array of parameters to pass to method
+ */
+ function __call($func, $params)
+ {
+ return call_user_func_array(array($this->it, $func), $params);
+ }
}
?>
\ No newline at end of file
<?php
/** @file outeriterator.inc
- * @ingroup Internal
+ * @ingroup SPL
* @brief class OuterIterator
* @author Marcus Boerger
* @date 2003 - 2004
<?php
/** @file parentiterator.inc
- * @ingroup Internal
+ * @ingroup SPL
* @brief class FilterIterator
* @author Marcus Boerger
* @date 2003 - 2004
<?php
/** @file recursiveiterator.inc
- * @ingroup Internal
+ * @ingroup SPL
* @brief class RecursiveIterator
* @author Marcus Boerger
* @date 2003 - 2004
<?php
/** @file recursiveiteratoriterator.inc
- * @ingroup Internal
+ * @ingroup SPL
* @brief class RecursiveIteratorIterator
* @author Marcus Boerger
* @date 2003 - 2004
<?php
/** @file seekableiterator.inc
- * @ingroup Internal
+ * @ingroup SPL
* @brief class SeekableIterator
* @author Marcus Boerger
* @date 2003 - 2004