Loading...
Searching...
No Matches
juce::RangedDirectoryIterator Class Referencefinal

`#include <juce_RangedDirectoryIterator.h>`

## Public Types

using | difference_type = std::ptrdiff_t
using | value_type = DirectoryEntry
using | reference = DirectoryEntry
using | pointer = void
using | iterator_category = std::input_iterator_tag

## Public Member Functions

| RangedDirectoryIterator ()=default
| RangedDirectoryIterator (const File &directory, bool isRecursive, const String &wildCard="*", int whatToLookFor=File::findFiles, File::FollowSymlinks followSymlinks=File::FollowSymlinks::yes)
bool | operator== (const RangedDirectoryIterator &other) const noexcept
bool | operator!= (const RangedDirectoryIterator &other) const noexcept
const DirectoryEntry & | operator* () const noexcept
const DirectoryEntry * | operator-> () const noexcept
RangedDirectoryIterator & | operator++ ()
DirectoryEntry | operator++ (int)

## Detailed Description

Allows iterating over files and folders using C++11 range-for syntax.

In the following example, we recursively find all hidden files in a specific directory.

std::vector<File> hiddenFiles;
for (DirectoryEntry entry : RangedDirectoryIterator (File ("/path/to/folder"), isRecursive))
if (entry.isHidden())
hiddenFiles.push_back (entry.getFile());
juce::DirectoryEntry
Definition juce_RangedDirectoryIterator.h:36
juce::File
Definition juce_File.h:45
juce::RangedDirectoryIterator::RangedDirectoryIterator
RangedDirectoryIterator()=default

Definition at line 99 of file juce_RangedDirectoryIterator.h.

## Member Typedef Documentation

## difference_type

using juce::RangedDirectoryIterator::difference_type = std::ptrdiff_t

Definition at line 102 of file juce_RangedDirectoryIterator.h.

## iterator_category

using juce::RangedDirectoryIterator::iterator_category = std::input_iterator_tag

Definition at line 106 of file juce_RangedDirectoryIterator.h.

## pointer

using juce::RangedDirectoryIterator::pointer = void

Definition at line 105 of file juce_RangedDirectoryIterator.h.

## reference

using juce::RangedDirectoryIterator::reference = DirectoryEntry

Definition at line 104 of file juce_RangedDirectoryIterator.h.

## value_type

using juce::RangedDirectoryIterator::value_type = DirectoryEntry

Definition at line 103 of file juce_RangedDirectoryIterator.h.

## Constructor & Destructor Documentation

## RangedDirectoryIterator() [1/2]

juce::RangedDirectoryIterator::RangedDirectoryIterator | ( |  | ) |

default

The default-constructed iterator acts as the 'end' sentinel.

Referenced by operator!=(), operator++(), and operator==().

## RangedDirectoryIterator() [2/2]

juce::RangedDirectoryIterator::RangedDirectoryIterator | ( | const File & | directory,
|  | bool | isRecursive,
|  | const String & | wildCard = "*",
|  | int | whatToLookFor = File::findFiles,
|  | File::FollowSymlinks | followSymlinks = File::FollowSymlinks::yes )

Creates a RangedDirectoryIterator for a given directory.

The resulting iterator can be used directly in a 'range-for' expression.

Parameters

  directory | the directory to search in
  isRecursive | whether all the subdirectories should also be searched
  wildCard | the file pattern to match. This may contain multiple patterns separated by a semi-colon or comma, e.g. "*.jpg;*.png"
  whatToLookFor | a value from the File::TypesOfFileToFind enum, specifying whether to look for files, directories, or both.
  followSymlinks | the policy to use when symlinks are encountered

Definition at line 39 of file juce_RangedDirectoryIterator.cpp.

## Member Function Documentation

## operator!=()

bool juce::RangedDirectoryIterator::operator!= | ( | const RangedDirectoryIterator & | other | ) | const

inline noexcept

Returns the inverse of operator==

Definition at line 138 of file juce_RangedDirectoryIterator.h.

## operator*()

const DirectoryEntry & juce::RangedDirectoryIterator::operator* | ( |  | ) | const

inline noexcept

Return an object containing metadata about the file or folder to which the iterator is currently pointing.

Definition at line 146 of file juce_RangedDirectoryIterator.h.

## operator++() [1/2]

RangedDirectoryIterator & juce::RangedDirectoryIterator::operator++ | ( |  | ) |

inline

Moves the iterator along to the next file.

Definition at line 150 of file juce_RangedDirectoryIterator.h.

## operator++() [2/2]

DirectoryEntry juce::RangedDirectoryIterator::operator++ | ( | int |  | ) |

inline

Moves the iterator along to the next file.

Returns
  an object containing metadata about the file or folder to to which the iterator was previously pointing.

Definition at line 161 of file juce_RangedDirectoryIterator.h.

## operator->()

const DirectoryEntry * juce::RangedDirectoryIterator::operator-> | ( |  | ) | const

inline noexcept

Definition at line 147 of file juce_RangedDirectoryIterator.h.

## operator==()

bool juce::RangedDirectoryIterator::operator== | ( | const RangedDirectoryIterator & | other | ) | const

inline noexcept

Returns true if both iterators are in their end/sentinel state, otherwise returns false.

Definition at line 132 of file juce_RangedDirectoryIterator.h.

Referenced by operator!=().

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

- juce_RangedDirectoryIterator.h
- juce_RangedDirectoryIterator.cpp