Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-09 09:19:38

0001 // Copyright (C) 2016 The Qt Company Ltd.
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0003 // Qt-Security score:significant reason:default
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