🟨 Enumerates files and directories inside a given path
SC::FileSystemIterator enumerates files and directories at a given path.
🟩 Usable
The library is simple but gets the job done.
Thanks to Strings library it handles UTF16 / UTF8 conversions seamlessly, making less difficult writing cross platform filesystem iteration / manipulation code.
FileSystemIterator uses an iterator pattern to enumerate files instead of a callback. This allows avoiding blocking on enumeration of very large directories and also the allocation of a huge number of strings to hold all filenames. When configuring an iteration, the caller can ask for a fully recursive enumeration or manually call SC::FileSystemIterator::recurseSubdirectory when the current SC::FileSystemIterator::Entry item (obtained with SC::FileSystemIterator::get) matches a directory of interest.
Example of recursive iteration of a directory:
If only some directories should be recursed, manual recursion can help speeding up directory iteration:
🟦 Complete Features:
💡 Unplanned Features: