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 (bool resolveEngine)
 
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
 
bool matchesLegacyFilters (QDirEntryInfo &data) const
 
void setLegacyFilters (QDir::Filters dirFilters, QDirIterator::IteratorFlags dirIteratorFlags)
 
void init (bool resolveEngine)
 
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
 
bool matchesLegacyFilters (QDirEntryInfo &data) const
 
void setLegacyFilters (QDir::Filters dirFilters, QDirIterator::IteratorFlags dirIteratorFlags)
 

Public Attributes

std::unique_ptr< QAbstractFileEngineengine
 
QDirEntryInfo initialEntryInfo
 
QStringList nameFilters
 
QDirListing::IteratorFlags iteratorFlags
 
QDirEntryInfo currentEntryInfo
 
bool useLegacyFilters = false
 
QDir::Filters legacyDirFilters
 
std::vector< FEngineIteratorPtrfileEngineIterators
 
std::vector< FsIteratorPtrnativeIterators
 
QDuplicateTracker< QStringvisitedLinks
 

Detailed Description

Definition at line 167 of file qdirlisting.cpp.

Member Typedef Documentation

◆ FEngineIteratorPtr [1/2]

Definition at line 210 of file qdirlisting.cpp.

◆ FEngineIteratorPtr [2/2]

Definition at line 210 of file qdirlisting.cpp.

◆ FsIteratorPtr [1/2]

Definition at line 213 of file qdirlisting.cpp.

◆ FsIteratorPtr [2/2]

Definition at line 213 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 327 of file qdirlisting.cpp.

◆ 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 257 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 374 of file qdirlisting.cpp.

◆ checkAndPushDirectory() [2/2]

void QDirListingPrivate::checkAndPushDirectory ( QDirEntryInfo & info)

◆ entryMatches() [1/2]

bool QDirListingPrivate::entryMatches ( QDirEntryInfo & info)

Definition at line 305 of file qdirlisting.cpp.

◆ entryMatches() [2/2]

bool QDirListingPrivate::entryMatches ( QDirEntryInfo & info)

◆ hasIterators() [1/2]

bool QDirListingPrivate::hasIterators ( ) const

Definition at line 539 of file qdirlisting.cpp.

◆ hasIterators() [2/2]

bool QDirListingPrivate::hasIterators ( ) const

◆ init() [1/2]

void QDirListingPrivate::init ( bool resolveEngine = true)

Definition at line 221 of file qdirlisting.cpp.

References useLegacyFilters.

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

+ Here is the caller graph for this function:

◆ init() [2/2]

void QDirListingPrivate::init ( bool resolveEngine)

◆ 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 493 of file qdirlisting.cpp.

◆ matchesFilters() [2/2]

bool QDirListingPrivate::matchesFilters ( QDirEntryInfo & data) const

◆ matchesLegacyFilters() [1/2]

bool QDirListingPrivate::matchesLegacyFilters ( QDirEntryInfo & entryInfo) const

Works the same as matchesFilters() but for the old QDir::Filters.

Definition at line 410 of file qdirlisting.cpp.

References useLegacyFilters.

◆ matchesLegacyFilters() [2/2]

bool QDirListingPrivate::matchesLegacyFilters ( QDirEntryInfo & data) const

◆ pushDirectory() [1/2]

void QDirListingPrivate::pushDirectory ( QDirEntryInfo & info)

Definition at line 267 of file qdirlisting.cpp.

◆ pushDirectory() [2/2]

void QDirListingPrivate::pushDirectory ( QDirEntryInfo & info)

◆ pushInitialDirectory() [1/2]

void QDirListingPrivate::pushInitialDirectory ( )

◆ pushInitialDirectory() [2/2]

void QDirListingPrivate::pushInitialDirectory ( )

◆ setLegacyFilters() [1/2]

void QDirListingPrivate::setLegacyFilters ( QDir::Filters dirFilters,
QDirIterator::IteratorFlags dirIteratorFlags )
inline

Definition at line 183 of file qdirlisting.cpp.

References useLegacyFilters.

◆ setLegacyFilters() [2/2]

void QDirListingPrivate::setLegacyFilters ( QDir::Filters dirFilters,
QDirIterator::IteratorFlags dirIteratorFlags )
inline

Definition at line 183 of file qdirlisting.cpp.

Member Data Documentation

◆ currentEntryInfo

QDirEntryInfo QDirListingPrivate::currentEntryInfo

Definition at line 194 of file qdirlisting.cpp.

◆ engine

std::unique_ptr< QAbstractFileEngine > QDirListingPrivate::engine

Definition at line 190 of file qdirlisting.cpp.

◆ fileEngineIterators

std::vector< FEngineIteratorPtr > QDirListingPrivate::fileEngineIterators

Definition at line 211 of file qdirlisting.cpp.

◆ initialEntryInfo

QDirEntryInfo QDirListingPrivate::initialEntryInfo

Definition at line 191 of file qdirlisting.cpp.

◆ iteratorFlags

QDirListing::IteratorFlags QDirListingPrivate::iteratorFlags

Definition at line 193 of file qdirlisting.cpp.

◆ legacyDirFilters

QDir::Filters QDirListingPrivate::legacyDirFilters

Definition at line 197 of file qdirlisting.cpp.

◆ nameFilters

QStringList QDirListingPrivate::nameFilters

Definition at line 192 of file qdirlisting.cpp.

◆ nativeIterators

std::vector< FsIteratorPtr > QDirListingPrivate::nativeIterators

Definition at line 214 of file qdirlisting.cpp.

◆ useLegacyFilters

bool QDirListingPrivate::useLegacyFilters = false

Definition at line 196 of file qdirlisting.cpp.

Referenced by init(), matchesLegacyFilters(), and setLegacyFilters().

◆ visitedLinks

QDuplicateTracker< QString > QDirListingPrivate::visitedLinks

Definition at line 218 of file qdirlisting.cpp.


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