# Class Filesystem.Traversion

Description

  Iterator object that traverses a directory tree and returns files as values and paths as indices. Example that uses the iterator to create a really simple sort of make:

Example

      object i=Filesystem.Traversion(".");
         foreach(i; string dir; string file) {
         	if(!has_suffix(file, ".c")) continue;
           file = dir+file;
           string ofile = file;
         	ofile[-1]='o';
         	object s=file_stat(ofile);
         	if(s && i->stat()->mtime<s->mtime) continue;
         	// compile file
         }

Method create

  `Filesystem.Traversion Filesystem.Traversion(`string` `path`, `void`|`bool` `symlink`, `void`|`bool` `ignore_errors`, `void`|`function`(`array`:`array`) `sort_fun`)`

Parameter `path`

  The root path from which to traverse.

Parameter `symlink`

  Don't traverse symlink directories.

Parameter `ignore_errors`

  Ignore directories that can not be accessed.

Parameter `sort_fun`

  Sort function to be applied to directory entries before traversing. Can also be a filter function.