RWDirectoryIterator
RWDirectoryIterator is a template class which represents a portable iterator over the content of a file system directory. RWDirectoryIterator has one specialization (const char*) suited for flat iteration (i.e., no recursive iteration of directories) and one (RWCString) which is recursive.
Both specializations are: assignable, copy constructible, equality comparable.
RWDirectoryIterator<const char*> iter ("somedir"); // OK
RWDirectoryIterator<const char*> iter1 (iter); // OK
iter1 = iter; // OK
bool b = iter == iter1; // OK