Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QDirListingPrivate Class Reference
Collaboration diagram for QDirListingPrivate:

Public Types

using FEngineIteratorPtr = std::unique_ptr<QAbstractFileEngineIterator>
using FsIteratorPtr = std::unique_ptr<QFileSystemIterator>
using FEngineIteratorPtr = std::unique_ptr<QAbstractFileEngineIterator>
using FsIteratorPtr = std::unique_ptr<QFileSystemIterator>

Public Member Functions

void init ()
void advance ()
void beginIterating ()
bool entryMatches (QDirEntryInfo &info)
void pushDirectory (QDirEntryInfo &info)
void pushInitialDirectory ()
void checkAndPushDirectory (QDirEntryInfo &info)
bool matchesFilters (QDirEntryInfo &data) const
bool hasIterators () const
void init ()
void advance ()
void beginIterating ()
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< QAbstractFileEngineengine
QDirEntryInfo initialEntryInfo
QStringList nameFilters
QDirListing::IteratorFlags iteratorFlags
QDirEntryInfo currentEntryInfo
std::vector< FEngineIteratorPtrfileEngineIterators
std::vector< FsIteratorPtrnativeIterators
QDuplicateTracker< QStringvisitedLinks

Detailed Description

Definition at line 162 of file qdirlisting.cpp.

Member Typedef Documentation

◆ FEngineIteratorPtr [1/2]

Definition at line 194 of file qdirlisting.cpp.

◆ FEngineIteratorPtr [2/2]

Definition at line 194 of file qdirlisting.cpp.

◆ FsIteratorPtr [1/2]

Definition at line 197 of file qdirlisting.cpp.

◆ FsIteratorPtr [2/2]

Definition at line 197 of file qdirlisting.cpp.

Member Function Documentation

◆ advance() [1/2]

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). The iterators are stored in a vector.

A typical example of doing recursive iteration:

  • while iterating directory A we find a sub-dir B
  • an iterator for B is added to the vector
  • B's iterator is processed (vector.back()) first; then the loop goes back to processing A's iterator

Definition at line 297 of file qdirlisting.cpp.

References entryMatches().

Here is the call graph for this function:

◆ advance() [2/2]

void QDirListingPrivate::advance ( )

◆ beginIterating() [1/2]

void QDirListingPrivate::beginIterating ( )

Resets the iteration state (if any), so that calling begin()/cbegin() always starts iterating anew.

Definition at line 229 of file qdirlisting.cpp.

Referenced by QDirListing::begin().

Here is the caller graph for this function:

◆ beginIterating() [2/2]

void QDirListingPrivate::beginIterating ( )

◆ checkAndPushDirectory() [1/2]

void QDirListingPrivate::checkAndPushDirectory ( QDirEntryInfo & info)

Definition at line 344 of file qdirlisting.cpp.

References QDirEntryInfo::isDir(), QDirEntryInfo::isHidden(), and pushDirectory().

Referenced by entryMatches().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkAndPushDirectory() [2/2]

void QDirListingPrivate::checkAndPushDirectory ( QDirEntryInfo & info)

◆ entryMatches() [1/2]

bool QDirListingPrivate::entryMatches ( QDirEntryInfo & info)

Definition at line 277 of file qdirlisting.cpp.

References checkAndPushDirectory(), and matchesFilters().

Referenced by advance().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ entryMatches() [2/2]

bool QDirListingPrivate::entryMatches ( QDirEntryInfo & info)

◆ hasIterators() [1/2]

bool QDirListingPrivate::hasIterators ( ) const

Definition at line 430 of file qdirlisting.cpp.

◆ hasIterators() [2/2]

bool QDirListingPrivate::hasIterators ( ) const

◆ init() [1/2]

void QDirListingPrivate::init ( )

Definition at line 205 of file qdirlisting.cpp.

Referenced by QDirListing::QDirListing(), and QDirListing::QDirListing().

Here is the caller graph for this function:

◆ init() [2/2]

void QDirListingPrivate::init ( )

◆ matchesFilters() [1/2]

bool QDirListingPrivate::matchesFilters ( QDirEntryInfo & entryInfo) const

This function 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 378 of file qdirlisting.cpp.

References QDirListing::ExcludeDirs, QDirListing::ExcludeFiles, QDirListing::ExcludeOther, QDirEntryInfo::exists(), and QDirEntryInfo::isSymLink().

Referenced by entryMatches().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ matchesFilters() [2/2]

bool QDirListingPrivate::matchesFilters ( QDirEntryInfo & data) const

◆ pushDirectory() [1/2]

void QDirListingPrivate::pushDirectory ( QDirEntryInfo & info)

Definition at line 239 of file qdirlisting.cpp.

Referenced by checkAndPushDirectory().

Here is the caller graph for this function:

◆ pushDirectory() [2/2]

void QDirListingPrivate::pushDirectory ( QDirEntryInfo & info)

◆ pushInitialDirectory() [1/2]

void QDirListingPrivate::pushInitialDirectory ( )

◆ pushInitialDirectory() [2/2]

void QDirListingPrivate::pushInitialDirectory ( )

Member Data Documentation

◆ currentEntryInfo

QDirEntryInfo QDirListingPrivate::currentEntryInfo

Definition at line 181 of file qdirlisting.cpp.

◆ engine

std::unique_ptr< QAbstractFileEngine > QDirListingPrivate::engine

Definition at line 177 of file qdirlisting.cpp.

◆ fileEngineIterators

std::vector< FEngineIteratorPtr > QDirListingPrivate::fileEngineIterators

Definition at line 195 of file qdirlisting.cpp.

◆ initialEntryInfo

QDirEntryInfo QDirListingPrivate::initialEntryInfo

Definition at line 178 of file qdirlisting.cpp.

◆ iteratorFlags

QDirListing::IteratorFlags QDirListingPrivate::iteratorFlags

Definition at line 180 of file qdirlisting.cpp.

◆ nameFilters

QStringList QDirListingPrivate::nameFilters

Definition at line 179 of file qdirlisting.cpp.

◆ nativeIterators

std::vector< FsIteratorPtr > QDirListingPrivate::nativeIterators

Definition at line 198 of file qdirlisting.cpp.

◆ visitedLinks

QDuplicateTracker< QString > QDirListingPrivate::visitedLinks

Definition at line 202 of file qdirlisting.cpp.


The documentation for this class was generated from the following file: