OpenShot Audio Library | OpenShotAudio 0.4.0
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 DirectoryEntryoperator* () const noexcept
 
const DirectoryEntryoperator-> () const noexcept
 
RangedDirectoryIteratoroperator++ ()
 
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());

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

◆ value_type

Constructor & Destructor Documentation

◆ RangedDirectoryIterator() [1/2]

juce::RangedDirectoryIterator::RangedDirectoryIterator ( )
default

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

◆ 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
directorythe directory to search in
isRecursivewhether all the subdirectories should also be searched
wildCardthe file pattern to match. This may contain multiple patterns separated by a semi-colon or comma, e.g. "*.jpg;*.png"
whatToLookFora value from the File::TypesOfFileToFind enum, specifying whether to look for files, directories, or both.
followSymlinksthe 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
inlinenoexcept

Returns the inverse of operator==

Definition at line 138 of file juce_RangedDirectoryIterator.h.

◆ operator*()

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

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
inlinenoexcept

Definition at line 147 of file juce_RangedDirectoryIterator.h.

◆ operator==()

bool juce::RangedDirectoryIterator::operator== ( const RangedDirectoryIterator other) const
inlinenoexcept

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: