<class name="QDirIterator" doc="/**
&lt;p&gt;The &lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt; class provides an iterator for directory entrylists.&lt;/p&gt;
&lt;p&gt;You can use &lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt; to navigate entries of a directory one at a time. It is similar to QDir::entryList() and QDir::entryInfoList(), but because it lists entries one at a time instead of all at once, it scales better and is more suitable for large directories. It also supports listing directory contents recursively, and following symbolic links. Unlike QDir::entryList(), &lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt; does not support sorting.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt; constructor takes a &lt;a href=&quot;QDir.html&quot;&gt;&lt;tt&gt;QDir&lt;/tt&gt;&lt;/a&gt; or a directory as argument. After construction, the iterator is located before the first directory entry. Here's how to iterate over all the entries sequentially:&lt;/p&gt;
&lt;pre&gt;    QDirIterator it(&amp;quot;/etc&amp;quot;, QDirIterator::Subdirectories);
    while (it.hasNext()) {
        qDebug() &amp;lt;&amp;lt; it.next();

        &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; /etc/.
        &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; /etc/..
        &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; /etc/X11
        &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; /etc/X11/fs
        &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; ...
    }&lt;/pre&gt;
&lt;p&gt;The &lt;a href=&quot;QDirIterator.html#next()&quot;&gt;&lt;tt&gt;next&lt;/tt&gt;&lt;/a&gt; function returns the path to the next directory entry and advances the iterator. You can also call &lt;a href=&quot;QDirIterator.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt; to get the current file path without advancing the iterator. The &lt;a href=&quot;QDirIterator.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt; function returns only the name of the file, similar to how QDir::entryList() works. You can also call &lt;a href=&quot;QDirIterator.html#fileInfo()&quot;&gt;&lt;tt&gt;fileInfo&lt;/tt&gt;&lt;/a&gt; to get a &lt;a href=&quot;QFileInfo.html&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; for the current entry.&lt;/p&gt;
&lt;p&gt;Unlike Qt's container iterators, &lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt; is uni-directional (i.e&amp;#x2e;, you cannot iterate directories in reverse order) and does not allow random access.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt; works with all supported file engines, and is implemented using &lt;a href=&quot;QAbstractFileEngineIterator.html&quot;&gt;&lt;tt&gt;QAbstractFileEngineIterator&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QDir.html&quot;&gt;&lt;tt&gt;QDir&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;QDir::entryList&lt;/tt&gt;
@see &lt;a href=&quot;QAbstractFileEngineIterator.html&quot;&gt;&lt;tt&gt;QAbstractFileEngineIterator&lt;/tt&gt;&lt;/a&gt; */">
    <method name="public QDirIterator(com.trolltech.qt.core.QDir dir, com.trolltech.qt.core.QDirIterator.IteratorFlags flags)" doc="/**
&lt;p&gt;Constructs a &lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt; that can iterate over &lt;tt&gt;dir&lt;/tt&gt;'s entrylist, using &lt;tt&gt;dir&lt;/tt&gt;'s name filters and regular filters. You can pass options via &lt;tt&gt;flags&lt;/tt&gt; to decide how the directory should be iterated.&lt;/p&gt;
&lt;p&gt;By default, &lt;tt&gt;flags&lt;/tt&gt; is &lt;a href=&quot;QDirIterator.html#IteratorFlag-enum&quot;&gt;&lt;tt&gt;NoIteratorFlags&lt;/tt&gt;&lt;/a&gt;, which provides the same behavior as in QDir::entryList().&lt;/p&gt;
&lt;p&gt;The sorting in &lt;tt&gt;dir&lt;/tt&gt; is ignored.&lt;/p&gt;

@see &lt;a href=&quot;QDirIterator.html#hasNext()&quot;&gt;&lt;tt&gt;hasNext&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QDirIterator.html#next()&quot;&gt;&lt;tt&gt;next&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;IteratorFlags&lt;/tt&gt; */"/>
    <method name="public QDirIterator(com.trolltech.qt.core.QDir dir)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;dir&lt;/tt&gt;, NoIteratorFlags). */"/>
    <method name="public QDirIterator(java.lang.String path, com.trolltech.qt.core.QDirIterator.IteratorFlags flags)" doc="/**
&lt;p&gt;Constructs a &lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt; that can iterate over &lt;tt&gt;path&lt;/tt&gt;. You can pass options via &lt;tt&gt;flags&lt;/tt&gt; to decide how the directory should be iterated.&lt;/p&gt;
&lt;p&gt;By default, &lt;tt&gt;flags&lt;/tt&gt; is &lt;a href=&quot;QDirIterator.html#IteratorFlag-enum&quot;&gt;&lt;tt&gt;NoIteratorFlags&lt;/tt&gt;&lt;/a&gt;, which provides the same behavior as in QDir::entryList().&lt;/p&gt;

@see &lt;a href=&quot;QDirIterator.html#hasNext()&quot;&gt;&lt;tt&gt;hasNext&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QDirIterator.html#next()&quot;&gt;&lt;tt&gt;next&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;IteratorFlags&lt;/tt&gt; */"/>
    <method name="public QDirIterator(java.lang.String path)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;path&lt;/tt&gt;, NoIteratorFlags). */"/>
    <method name="public QDirIterator(java.lang.String path, java.util.List&lt;java.lang.String&gt; nameFilters, com.trolltech.qt.core.QDir.Filters filters, com.trolltech.qt.core.QDirIterator.IteratorFlags flags)" doc="/**
&lt;p&gt;Constructs a &lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt; that can iterate over &lt;tt&gt;path&lt;/tt&gt;, using &lt;tt&gt;nameFilters&lt;/tt&gt; and &lt;tt&gt;filters&lt;/tt&gt;. You can pass options via &lt;tt&gt;flags&lt;/tt&gt; to decide how the directory should be iterated.&lt;/p&gt;
&lt;p&gt;By default, &lt;tt&gt;flags&lt;/tt&gt; is &lt;a href=&quot;QDirIterator.html#IteratorFlag-enum&quot;&gt;&lt;tt&gt;NoIteratorFlags&lt;/tt&gt;&lt;/a&gt;, which provides the same behavior as QDir::entryList().&lt;/p&gt;

@see &lt;a href=&quot;QDirIterator.html#hasNext()&quot;&gt;&lt;tt&gt;hasNext&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QDirIterator.html#next()&quot;&gt;&lt;tt&gt;next&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;IteratorFlags&lt;/tt&gt; */"/>
    <method name="public QDirIterator(java.lang.String path, java.util.List&lt;java.lang.String&gt; nameFilters, com.trolltech.qt.core.QDir.Filters filters)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;path&lt;/tt&gt;, &lt;tt&gt;nameFilters&lt;/tt&gt;, &lt;tt&gt;filters&lt;/tt&gt;, NoIteratorFlags). */"/>
    <method name="public QDirIterator(java.lang.String path, java.util.List&lt;java.lang.String&gt; nameFilters)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;path&lt;/tt&gt;, &lt;tt&gt;nameFilters&lt;/tt&gt;, QDir::NoFilter, NoIteratorFlags). */"/>
    <method name="public QDirIterator(java.lang.String path, com.trolltech.qt.core.QDir.Filters filter, com.trolltech.qt.core.QDirIterator.IteratorFlags flags)" doc="/**
&lt;p&gt;Constructs a &lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt; that can iterate over &lt;tt&gt;path&lt;/tt&gt;, with no name filtering and &lt;tt&gt;filter&lt;/tt&gt; for entry filtering. You can pass options via &lt;tt&gt;flags&lt;/tt&gt; to decide how the directory should be iterated.&lt;/p&gt;
&lt;p&gt;By default, &lt;tt&gt;filter&lt;/tt&gt; is QDir::NoFilter, and &lt;tt&gt;flags&lt;/tt&gt; is &lt;a href=&quot;QDirIterator.html#IteratorFlag-enum&quot;&gt;&lt;tt&gt;NoIteratorFlags&lt;/tt&gt;&lt;/a&gt;, which provides the same behavior as in QDir::entryList().&lt;/p&gt;

@see &lt;a href=&quot;QDirIterator.html#hasNext()&quot;&gt;&lt;tt&gt;hasNext&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QDirIterator.html#next()&quot;&gt;&lt;tt&gt;next&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;IteratorFlags&lt;/tt&gt; */"/>
    <method name="public QDirIterator(java.lang.String path, com.trolltech.qt.core.QDir.Filters filter)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;path&lt;/tt&gt;, &lt;tt&gt;filter&lt;/tt&gt;, NoIteratorFlags). */"/>
    <method name="public final com.trolltech.qt.core.QFileInfo fileInfo()" doc="/**
&lt;p&gt;Returns a &lt;a href=&quot;QFileInfo.html&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; for the current directory entry. If the current entry is invalid (i.e&amp;#x2e;, isValid() returns false), a null &lt;a href=&quot;QFileInfo.html&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; is returned.&lt;/p&gt;

@see &lt;a href=&quot;QDirIterator.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QDirIterator.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String fileName()" doc="/**
&lt;p&gt;Returns the file name for the current directory entry, without the path prepended. If the current entry is invalid (i.e&amp;#x2e;, isValid() returns false), a null &lt;a href=&quot;%2E%2E/porting4.html#qstring&quot;&gt;&lt;tt&gt;QString&lt;/tt&gt;&lt;/a&gt; is returned.&lt;/p&gt;
&lt;p&gt;This function is provided for the convenience when iterating single directories. For recursive iteration, you should call &lt;a href=&quot;QDirIterator.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt; or &lt;a href=&quot;QDirIterator.html#fileInfo()&quot;&gt;&lt;tt&gt;fileInfo&lt;/tt&gt;&lt;/a&gt; instead.&lt;/p&gt;

@see &lt;a href=&quot;QDirIterator.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QDirIterator.html#fileInfo()&quot;&gt;&lt;tt&gt;fileInfo&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String filePath()" doc="/**
&lt;p&gt;Returns the full file path for the current directory entry. If the current entry is invalid (i.e&amp;#x2e;, isValid() returns false), a null &lt;a href=&quot;%2E%2E/porting4.html#qstring&quot;&gt;&lt;tt&gt;QString&lt;/tt&gt;&lt;/a&gt; is returned.&lt;/p&gt;

@see &lt;a href=&quot;QDirIterator.html#fileInfo()&quot;&gt;&lt;tt&gt;fileInfo&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QDirIterator.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean hasNext()" doc="/**
&lt;p&gt;Returns true if there is at least one more entry in the directory; otherwise, false is returned.&lt;/p&gt;

@see &lt;a href=&quot;QDirIterator.html#next()&quot;&gt;&lt;tt&gt;next&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QDirIterator.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QDirIterator.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QDirIterator.html#fileInfo()&quot;&gt;&lt;tt&gt;fileInfo&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String next()" doc="/**
&lt;p&gt;Advances the iterator to the next entry, and returns the file path of this new entry. If &lt;a href=&quot;QDirIterator.html#hasNext()&quot;&gt;&lt;tt&gt;hasNext&lt;/tt&gt;&lt;/a&gt; returns false, this function does nothing, and returns a null &lt;a href=&quot;%2E%2E/porting4.html#qstring&quot;&gt;&lt;tt&gt;QString&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can call &lt;a href=&quot;QDirIterator.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt; or &lt;a href=&quot;QDirIterator.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt; to get the current entry file name or path, or &lt;a href=&quot;QDirIterator.html#fileInfo()&quot;&gt;&lt;tt&gt;fileInfo&lt;/tt&gt;&lt;/a&gt; to get a &lt;a href=&quot;QFileInfo.html&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; for the current entry.&lt;/p&gt;

@see &lt;a href=&quot;QDirIterator.html#hasNext()&quot;&gt;&lt;tt&gt;hasNext&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QDirIterator.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QDirIterator.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QDirIterator.html#fileInfo()&quot;&gt;&lt;tt&gt;fileInfo&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String path()" doc="/**
&lt;p&gt;Returns the base directory of the iterator.&lt;/p&gt;
 */"/>
    <enum name="IteratorFlag" doc="/**
&lt;p&gt;This enum describes flags that you can combine to configure the behavior of &lt;a href=&quot;QDirIterator.html#QDirIterator(java.lang.String, com.trolltech.qt.core.QDir.Filters, com.trolltech.qt.core.QDirIterator.IteratorFlags)&quot;&gt;&lt;tt&gt;QDirIterator&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */">
        <enum-value name="NoIteratorFlags" doc="/**
&lt;p&gt;The default value, representing no flags. The iterator will return entries for the assigned path.&lt;/p&gt;
 */"/>
        <enum-value name="FollowSymlinks" doc="/**
&lt;p&gt;When combined with Subdirectories, this flag enables iterating through all subdirectories of the assigned path, following all symbolic links. Symbolic link loops (e.g&amp;#x2e;, &amp;quot;link&amp;quot; =&amp;gt; &amp;quot;.&amp;quot; or &amp;quot;link&amp;quot; =&amp;gt; &amp;quot;..&amp;quot;) are automatically detected and ignored.&lt;/p&gt;
 */"/>
        <enum-value name="Subdirectories" doc="/**
&lt;p&gt;List entries inside all subdirectories as well.&lt;/p&gt;
 */"/>
</enum>
</class>
