const_iterator Class

class QDirListing::const_iterator

This class was introduced in Qt 6.8.

Public Types

Public Functions

QDirListing::const_iterator::reference operator*() const
QDirListing::const_iterator &operator++()
void operator++(int)
QDirListing::const_iterator::pointer operator->() const

Detailed Description

The iterator type returned by QDirListing::cbegin().

  • This is a forward-only, single-pass iterator (you cannot iterate directory entries in reverse order)
  • Can't be copied, only std::move()d.
  • The return value of post-increment on objects that model std::input_iterator is partially-formed (a copy of an iterator that has since been advanced), the only valid operations on such an object are destruction and assignment of a new iterator. Therefore the post-increment operator advances the iterator and returns void.
  • Doesn't allow random access
  • Can be used in ranged-for loops; or with C++20 std::ranges algorithms that don't require random access iterators
  • Dereferencing a valid iterator returns a const DirEntry &
  • (c)end() returns a QDirListing::sentinel that signals the end of the iteration. Dereferencing an iterator that compares equal to end() is undefined behavior

Note: The "classical" STL algorithms don't support iterator/sentinel, so you need to use C++20 std::ranges algorithms for QDirListing, or else a 3rd-party library that provides range-based algorithms in C++17.

See also QDirListing, QDirListing::sentinel, and QDirListing::DirEntry.

Member Type Documentation

[alias] const_iterator::pointer

A typedef for const QDirListing::DirEntry *.

[alias] const_iterator::reference

A typedef for const QDirListing::DirEntry &.

Member Function Documentation

QDirListing::const_iterator::reference const_iterator::operator*() const

Returns a const QDirListing::DirEntry & of the directory entry this iterator points to.

QDirListing::const_iterator &const_iterator::operator++()

Pre-increment operator. Advances the iterator and returns a reference to it.

void const_iterator::operator++(int)

Post-increment operator.

QDirListing::const_iterator models C++20 std::input_iterator, that is, it is a move-only, forward-only, single-pass iterator, that doesn't allow random access.

The return value of post-increment on objects that model std::input_iterator is partially-formed (a copy of an iterator that has since been advanced), the only valid operations on such an object are destruction and assignment of a new iterator. Therefore the post-increment operator advances the iterator and returns void.

QDirListing::const_iterator::pointer const_iterator::operator->() const

Returns a const QDirListing::DirEntry * to the directory entry this iterator points to.