Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-13 09:06:02

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 
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