<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->

<part xml:id="spl.iterators" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">

 &spl.iterators.intro.title;

 <partintro>
  &spl.iterators.intro;

  <section xml:id="spl.iterators.tree">
   <title>SPL Iterators Class Tree</title>
   <itemizedlist>
    <!-- ArrayIterator + children -->
    <listitem>
     <simpara><classname>ArrayIterator</classname></simpara>
     <itemizedlist>
      <listitem>
       <simpara><classname>RecursiveArrayIterator</classname></simpara>
      </listitem>
     </itemizedlist>
    </listitem>
    <!-- EmptyIterator -->
    <listitem>
     <simpara><classname>EmptyIterator</classname></simpara>
    </listitem>
    <!-- IteratorIterator + children -->
    <listitem>
     <simpara><classname>IteratorIterator</classname></simpara>
     <itemizedlist>
      <listitem>
       <simpara><classname>AppendIterator</classname></simpara>
      </listitem>
      <listitem>
       <simpara><classname>CachingIterator</classname></simpara>
       <itemizedlist>
        <listitem>
         <simpara><classname>RecursiveCachingIterator</classname></simpara>
        </listitem>
       </itemizedlist>
      </listitem>
      <listitem>
       <simpara><classname>FilterIterator</classname></simpara>
       <itemizedlist>
        <listitem>
         <simpara><classname>CallbackFilterIterator</classname></simpara>
         <itemizedlist>
          <listitem>
           <simpara><classname>RecursiveCallbackFilterIterator</classname></simpara>
          </listitem>
         </itemizedlist>
        </listitem>
        <listitem>
         <simpara><classname>RecursiveFilterIterator</classname></simpara>
         <itemizedlist>
          <listitem>
           <simpara><classname>ParentIterator</classname></simpara>
          </listitem>
         </itemizedlist>
        </listitem>
        <listitem>
         <simpara><classname>RegexIterator</classname></simpara>
         <itemizedlist>
          <listitem>
           <simpara><classname>RecursiveRegexIterator</classname></simpara>
          </listitem>
         </itemizedlist>
        </listitem>
       </itemizedlist>
      </listitem>
      <listitem>
       <simpara><classname>InfiniteIterator</classname></simpara>
      </listitem>
      <listitem>
       <simpara><classname>LimitIterator</classname></simpara>
      </listitem>
      <listitem>
       <simpara><classname>NoRewindIterator</classname></simpara>
      </listitem>
     </itemizedlist>
    </listitem>
    <!-- MultipleIterator -->
    <listitem>
     <simpara><classname>MultipleIterator</classname></simpara>
    </listitem>
    <!-- RecursiveIteratorIterator + children -->
    <listitem>
     <simpara><classname>RecursiveIteratorIterator</classname></simpara>
     <itemizedlist>
      <listitem>
       <simpara><classname>RecursiveTreeIterator</classname></simpara>
      </listitem>
     </itemizedlist>
    </listitem>
    <!-- DirectoryIterator + children -->
    <listitem>
     <simpara><classname>DirectoryIterator</classname> (extends <classname>SplFileInfo</classname>)</simpara>
     <itemizedlist>
      <listitem>
       <simpara><classname>FilesystemIterator</classname></simpara>
       <itemizedlist>
        <listitem>
         <simpara><classname>GlobIterator</classname></simpara>
        </listitem>
        <listitem>
         <simpara><classname>RecursiveDirectoryIterator</classname></simpara>
        </listitem>
       </itemizedlist>
      </listitem>
     </itemizedlist>
    </listitem>
   </itemizedlist>
  </section>

 </partintro>

<!-- TODO: Not documented
 &reference.spl.recursivetreeiterator;
-->

 &reference.spl.appenditerator;
 &reference.spl.arrayiterator;
 &reference.spl.cachingiterator;
 &reference.spl.callbackfilteriterator;
 &reference.spl.directoryiterator;
 &reference.spl.emptyiterator;
 &reference.spl.filesystemiterator;
 &reference.spl.filteriterator;
 &reference.spl.globiterator;
 &reference.spl.infiniteiterator;
 &reference.spl.iteratoriterator;
 &reference.spl.limititerator;
 &reference.spl.multipleiterator;
 &reference.spl.norewinditerator;
 &reference.spl.parentiterator;
 &reference.spl.recursivearrayiterator;
 &reference.spl.recursivecachingiterator;
 &reference.spl.recursivecallbackfilteriterator;
 &reference.spl.recursivedirectoryiterator;
 &reference.spl.recursivefilteriterator;
 &reference.spl.recursiveiteratoriterator;
 &reference.spl.recursiveregexiterator;
 &reference.spl.recursivetreeiterator;
 &reference.spl.regexiterator;

</part>



<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

