File indexing completed on 2026-09-09 09:19:38
0001
0002
0003
0004
0005 #ifndef QDIRITERATOR_H
0006 #define QDIRITERATOR_H
0007
0008 #include <QtCore/qdir.h>
0009
0010 #include <memory>
0011
0012 QT_BEGIN_NAMESPACE
0013
0014 class QDirIteratorPrivate;
0015 class Q_CORE_EXPORT QDirIterator
0016 {
0017 public:
0018 enum IteratorFlag {
0019 NoIteratorFlags = 0x0,
0020 FollowSymlinks = 0x1,
0021 Subdirectories = 0x2
0022 };
0023 Q_DECLARE_FLAGS(IteratorFlags, IteratorFlag)
0024
0025 QDirIterator(const QDir &dir, IteratorFlags flags = NoIteratorFlags);
0026 QDirIterator(const QString &path,
0027 IteratorFlags flags = NoIteratorFlags);
0028 QDirIterator(const QString &path,
0029 QDir::Filters filter,
0030 IteratorFlags flags = NoIteratorFlags);
0031 QDirIterator(const QString &path,
0032 const QStringList &nameFilters,
0033 QDir::Filters filters = QDir::NoFilter,
0034 IteratorFlags flags = NoIteratorFlags);
0035
0036 ~QDirIterator();
0037
0038 QString next();
0039 QFileInfo nextFileInfo();
0040 bool hasNext() const;
0041
0042 QString fileName() const;
0043 QString filePath() const;
0044 QFileInfo fileInfo() const;
0045 QString path() const;
0046
0047 private:
0048 Q_DISABLE_COPY(QDirIterator)
0049
0050 std::unique_ptr<QDirIteratorPrivate> d;
0051 friend class QDir;
0052 };
0053
0054 Q_DECLARE_OPERATORS_FOR_FLAGS(QDirIterator::IteratorFlags)
0055
0056 QT_END_NAMESPACE
0057
0058 #endif