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