Revision control
++ // Copyright (C) 2016 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
++ // Qt-Security score:significant reason:default
++
++ #ifndef QDIRITERATOR_H
++ #define QDIRITERATOR_H
++
++ #include <QtCore/qdir.h>
++
++ #include <memory>
++
++ QT_BEGIN_NAMESPACE
++
++ class QDirIteratorPrivate;
++ class Q_CORE_EXPORT QDirIterator
++ {
++ public:
++ enum IteratorFlag {
++ NoIteratorFlags = 0x0,
++ FollowSymlinks = 0x1,
++ Subdirectories = 0x2
++ };
++ Q_DECLARE_FLAGS(IteratorFlags, IteratorFlag)
++
++ QDirIterator(const QDir &dir, IteratorFlags flags = NoIteratorFlags);
++ QDirIterator(const QString &path,
++ IteratorFlags flags = NoIteratorFlags);
++ QDirIterator(const QString &path,
++ QDir::Filters filter,
++ IteratorFlags flags = NoIteratorFlags);
++ QDirIterator(const QString &path,
++ const QStringList &nameFilters,
++ QDir::Filters filters = QDir::NoFilter,
++ IteratorFlags flags = NoIteratorFlags);
++
++ ~QDirIterator();
++
++ QString next();
++ QFileInfo nextFileInfo();
++ bool hasNext() const;
++
++ QString fileName() const;
++ QString filePath() const;
++ QFileInfo fileInfo() const;
++ QString path() const;
++
++ private:
++ Q_DISABLE_COPY(QDirIterator)
++
++ std::unique_ptr<QDirIteratorPrivate> d;
++ friend class QDir;
++ };
++
++ Q_DECLARE_OPERATORS_FOR_FLAGS(QDirIterator::IteratorFlags)
++
++ QT_END_NAMESPACE
++
++ #endif