Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
Public Types | |
using | FEngineIteratorPtr = std::unique_ptr<QAbstractFileEngineIterator> |
using | FsIteratorPtr = std::unique_ptr<QFileSystemIterator> |
Public Member Functions | |
void | init (bool resolveEngine) |
void | advance () |
bool | entryMatches (QDirEntryInfo &info) |
void | pushDirectory (QDirEntryInfo &info) |
void | pushInitialDirectory () |
void | checkAndPushDirectory (QDirEntryInfo &info) |
bool | matchesFilters (QDirEntryInfo &data) const |
bool | hasIterators () const |
Public Attributes | |
std::unique_ptr< QAbstractFileEngine > | engine |
QDirEntryInfo | initialEntryInfo |
QStringList | nameFilters |
QDir::Filters | filters |
QDirListing::IteratorFlags | iteratorFlags |
QDirEntryInfo | currentEntryInfo |
std::stack< FEngineIteratorPtr, std::vector< FEngineIteratorPtr > > | fileEngineIterators |
std::stack< FsIteratorPtr, std::vector< FsIteratorPtr > > | nativeIterators |
QDuplicateTracker< QString > | visitedLinks |
Definition at line 90 of file qdirlisting.cpp.
using QDirListingPrivate::FEngineIteratorPtr = std::unique_ptr<QAbstractFileEngineIterator> |
Definition at line 115 of file qdirlisting.cpp.
using QDirListingPrivate::FsIteratorPtr = std::unique_ptr<QFileSystemIterator> |
Definition at line 118 of file qdirlisting.cpp.
void QDirListingPrivate::advance | ( | ) |
Advances the internal iterator, either a QAbstractFileEngineIterator (e.g. QResourceFileEngineIterator) or a QFileSystemIterator (which uses low-level system methods, e.g. readdir() on Unix).
An iterator stack is used for holding the iterators.
A typical example of doing recursive iteration:
Definition at line 209 of file qdirlisting.cpp.
References currentEntryInfo, engine, entryMatches(), fileEngineIterators, it, and nativeIterators.
Referenced by QDirListing::const_iterator::operator++().
void QDirListingPrivate::checkAndPushDirectory | ( | QDirEntryInfo & | info | ) |
Definition at line 250 of file qdirlisting.cpp.
References QDir::AllDirs, fileName, filters, QDir::Hidden, iteratorFlags, and pushDirectory().
Referenced by entryMatches().
bool QDirListingPrivate::entryMatches | ( | QDirEntryInfo & | info | ) |
Definition at line 188 of file qdirlisting.cpp.
References checkAndPushDirectory(), and matchesFilters().
Referenced by advance().
bool QDirListingPrivate::hasIterators | ( | ) | const |
Definition at line 361 of file qdirlisting.cpp.
References engine, fileEngineIterators, and nativeIterators.
Referenced by QDirListing::const_iterator::operator++().
void QDirListingPrivate::init | ( | bool | resolveEngine = true | ) |
Definition at line 126 of file qdirlisting.cpp.
References QDir::AllEntries, Qt::CaseInsensitive, Qt::CaseSensitive, QDir::CaseSensitive, QFileSystemEngine::createLegacyEngine(), engine, filters, QRegularExpression::fromWildcard(), initialEntryInfo, nameFilters, QDir::NoFilter, and pushDirectory().
bool QDirListingPrivate::matchesFilters | ( | QDirEntryInfo & | entryInfo | ) | const |
This functions returns true
if the current entry matches the filters (i.e., the current entry will be returned as part of the directory iteration); otherwise, false
is returned.
Definition at line 284 of file qdirlisting.cpp.
References QDir::AllDirs, QDir::Dirs, QDir::Executable, fileName, QDir::Files, filters, QDir::Hidden, QDir::NoDot, QDir::NoDotDot, QDir::NoSymLinks, QDir::PermissionMask, QDir::Readable, QString::size(), QDir::System, and QDir::Writable.
Referenced by entryMatches().
void QDirListingPrivate::pushDirectory | ( | QDirEntryInfo & | info | ) |
Definition at line 150 of file qdirlisting.cpp.
References engine, fileEngineIterators, filters, QDirListing::FollowSymlinks, QDuplicateTracker< T, Prealloc >::hasSeen(), it, iteratorFlags, nameFilters, nativeIterators, qWarning, and visitedLinks.
Referenced by checkAndPushDirectory(), and init().
void QDirListingPrivate::pushInitialDirectory | ( | ) |
QDirEntryInfo QDirListingPrivate::currentEntryInfo |
Definition at line 109 of file qdirlisting.cpp.
Referenced by advance().
std::unique_ptr<QAbstractFileEngine> QDirListingPrivate::engine |
Definition at line 104 of file qdirlisting.cpp.
Referenced by advance(), hasIterators(), init(), and pushDirectory().
std::stack<FEngineIteratorPtr, std::vector<FEngineIteratorPtr> > QDirListingPrivate::fileEngineIterators |
Definition at line 116 of file qdirlisting.cpp.
Referenced by advance(), hasIterators(), and pushDirectory().
QDir::Filters QDirListingPrivate::filters |
Definition at line 107 of file qdirlisting.cpp.
Referenced by checkAndPushDirectory(), init(), matchesFilters(), and pushDirectory().
QDirEntryInfo QDirListingPrivate::initialEntryInfo |
Definition at line 105 of file qdirlisting.cpp.
Referenced by init().
QDirListing::IteratorFlags QDirListingPrivate::iteratorFlags |
Definition at line 108 of file qdirlisting.cpp.
Referenced by checkAndPushDirectory(), and pushDirectory().
QStringList QDirListingPrivate::nameFilters |
Definition at line 106 of file qdirlisting.cpp.
Referenced by init(), and pushDirectory().
std::stack<FsIteratorPtr, std::vector<FsIteratorPtr> > QDirListingPrivate::nativeIterators |
Definition at line 119 of file qdirlisting.cpp.
Referenced by advance(), hasIterators(), and pushDirectory().
QDuplicateTracker<QString> QDirListingPrivate::visitedLinks |
Definition at line 123 of file qdirlisting.cpp.
Referenced by pushDirectory().