IDirectoryIterator is used to iterate over the contents of a directory. It can be used to iterate a single directory or to recursively iterate a directory and all of its subdirectories.
This class is designed to mimic a C++ pointer, similar to the iterator
classes in the ANSI/ISO C++ draft standard. When the C++ Standard Library
is available, IDirectoryIterator will inherit from
input_iterator
Typical usage is as follows:
for (IDirectoryIterator anEntity(myDirectory); anEntity; anEntity++)
{
DoSomething( *anEntity );
}
IDirectory myDirectory = ....;
Use these to construct, copy, and assign directory iterators.
![]() |
public:
virtual ~IDirectoryIterator()
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
public:
IDirectoryIterator()
Windows | OS/2 | AIX |
Yes | Yes | Yes |
public:
IDirectoryIterator(const IDirectoryIterator& copy)
Windows | OS/2 | AIX |
Yes | Yes | Yes |
public:
IDirectoryIterator( const IDirectory&, bool recursive = false )
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
public:
IDirectoryIterator& operator =( const IDirectoryIterator& copy )
Windows | OS/2 | AIX |
Yes | Yes | Yes |
Use these to access data members.
![]() |
public:
bool recursive() const
Windows | OS/2 | AIX |
Yes | Yes | Yes |
User these operators to compare iterators and to confirm the validity of iterators.
![]() |
public:
bool operator !=(const IDirectoryIterator& other) const
Two directory iterators compare as equal if they are both past the end of their iteration, or if one was copy-constructed from the other.
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
public:
bool operator ==(const IDirectoryIterator& other) const
Two directory iterators compare as equal if they are both past the end of their iteration, or if one was copy-constructed from the other.
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
public:
operator bool() const
This member function is often used in the termination condition of a for or while loop. When operator bool returns false, there are no more entities over which to iterate.
Windows | OS/2 | AIX |
Yes | Yes | Yes |
Use these iteration operators to iterate through the directories.
![]() |
public:
IFileSystemEntity operator *() const
FunctionCall( *anIterator )
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
Proceeds to the next entity in the iteration.
public:
IDirectoryIterator& operator ++()
Windows | OS/2 | AIX |
Yes | Yes | Yes |
public:
IDirectoryIterator operator ++(int)
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
public:
IFileSystemEntity* operator ->()
anIterator->deleteSelf()
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
public:
static const IDirectoryIterator& end()
Windows | OS/2 | AIX |
Yes | Yes | Yes |