JUCE v8.0.9
JUCE API
 
Loading...
Searching...
No Matches
juce::AndroidDocumentIterator Class Referencefinal

An iterator that visits child documents in a directory. More...

#include <juce_AndroidDocument.h>

Collaboration diagram for juce::AndroidDocumentIterator:

Public Types

using difference_type = std::ptrdiff_t
 
using iterator_category = std::input_iterator_tag
 
using pointer = void
 

Public Member Functions

 AndroidDocumentIterator ()=default
 Creates an end/sentinel iterator.
 
AndroidDocumentIterator begin () const
 Allows this iterator to be used directly in a range-for.
 
AndroidDocumentIterator end () const
 Allows this iterator to be used directly in a range-for.
 
bool operator!= (const AndroidDocumentIterator &other) const noexcept
 
AndroidDocument operator* () const
 Returns the document to which this iterator points.
 
AndroidDocumentIteratoroperator++ ()
 Moves this iterator to the next position.
 
bool operator== (const AndroidDocumentIterator &other) const noexcept
 

Static Public Member Functions

static AndroidDocumentIterator makeNonRecursive (const AndroidDocument &)
 Create an iterator that will visit each item in this directory.
 
static AndroidDocumentIterator makeRecursive (const AndroidDocument &)
 Create an iterator that will visit each item in this directory, and all nested directories.
 

Private Member Functions

 AndroidDocumentIterator (std::unique_ptr< Pimpl >)
 

Private Attributes

std::shared_ptr< Pimpl > pimpl
 

Detailed Description

An iterator that visits child documents in a directory.

Instances of this iterator can be created by calling makeRecursive() or makeNonRecursive(). The results of these functions can additionally be used in standard algorithms, and in range-for loops:

AndroidDocument findFileWithName (const AndroidDocument& parent, const String& name)
{
for (const auto& child : AndroidDocumentIterator::makeNonRecursive (parent))
if (child.getInfo().getName() == name)
return child;
return AndroidDocument();
}
std::vector<AndroidDocument> findAllChildrenRecursive (const AndroidDocument& parent)
{
std::vector<AndroidDocument> children;
std::back_inserter (children));
return children;
}
An iterator that visits child documents in a directory.
Definition juce_AndroidDocument.h:449
static AndroidDocumentIterator makeNonRecursive(const AndroidDocument &)
Create an iterator that will visit each item in this directory.
static AndroidDocumentIterator makeRecursive(const AndroidDocument &)
Create an iterator that will visit each item in this directory, and all nested directories.
AndroidDocumentIterator()=default
Creates an end/sentinel iterator.
Provides access to a document on Android devices.
Definition juce_AndroidDocument.h:254
The JUCE String class!
Definition juce_String.h:67

@tags{Core}

Member Typedef Documentation

◆ difference_type

◆ iterator_category

using juce::AndroidDocumentIterator::iterator_category = std::input_iterator_tag

◆ pointer

Constructor & Destructor Documentation

◆ AndroidDocumentIterator() [1/2]

juce::AndroidDocumentIterator::AndroidDocumentIterator ( )
default

Creates an end/sentinel iterator.

◆ AndroidDocumentIterator() [2/2]

juce::AndroidDocumentIterator::AndroidDocumentIterator ( std::unique_ptr< Pimpl >  )
explicitprivate

Member Function Documentation

◆ begin()

AndroidDocumentIterator juce::AndroidDocumentIterator::begin ( ) const
inline

Allows this iterator to be used directly in a range-for.

◆ end()

AndroidDocumentIterator juce::AndroidDocumentIterator::end ( ) const
inline

Allows this iterator to be used directly in a range-for.

◆ makeNonRecursive()

static AndroidDocumentIterator juce::AndroidDocumentIterator::makeNonRecursive ( const AndroidDocument )
static

Create an iterator that will visit each item in this directory.

◆ makeRecursive()

static AndroidDocumentIterator juce::AndroidDocumentIterator::makeRecursive ( const AndroidDocument )
static

Create an iterator that will visit each item in this directory, and all nested directories.

◆ operator!=()

bool juce::AndroidDocumentIterator::operator!= ( const AndroidDocumentIterator other) const
inlinenoexcept

References operator==().

◆ operator*()

AndroidDocument juce::AndroidDocumentIterator::operator* ( ) const

Returns the document to which this iterator points.

◆ operator++()

AndroidDocumentIterator & juce::AndroidDocumentIterator::operator++ ( )

Moves this iterator to the next position.

◆ operator==()

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

References pimpl.

Referenced by operator!=().

Member Data Documentation

◆ pimpl

std::shared_ptr<Pimpl> juce::AndroidDocumentIterator::pimpl
private

Referenced by operator==().


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