UNISTDX_FS_IDIRTREE
template <class T>
using idirtree_iterator = basic_istream_iterator< idirtree, T >

Recursive directory entry input stream iterator.

Recursive directory entry input stream that ignores all hidden files during traversal and does not recurse to hidden directories.

template <class FilePred, class DirPred>
class sys::basic_idirtree

Recursive directory entry input stream.

FilePred
file predicate type, that determines which directory entries to include in the stream.

DirPred
directory predicate type, that determines which directories to recurse into.

An input stream from which directories entries are read recursively.
  • File and directory predicates may have internal state.

Base classes
Types
Methods
  • end() -> iterator
  • begin() -> iterator
  • num_directories() const -> size_t

    Return the number of directories in the stack.

  • next_directory() -> void

    Go to the next directory.

  • operator>>(directory_entry & rhs) -> basic_idirtree &

    Get next directory entry as directory_entry.

  • setdirpred(dirpred_type rhs) -> void

    Set directory predicate.

  • getdirpred() -> dirpred_type &

    Get directory predicate.

  • getdirpred() const -> const dirpred_type &

    Get directory predicate.

  • current_dir() const -> const path &

    Path to the directory which is currently being traversed.

  • open(path_view p) -> void

    Open path p as input directory.

  • basic_idirtree(path_view starting_point)explicit

    Construct recursive directory entry input stream for input directory starting_point.

  • basic_idirtree()
struct sys::ignore_hidden_dirs

Do not recurse to hidden directories when traversing directories.

  • Default directory predicate for idirtree.
  • Caches file status, which is accessed with status method.
  • File status is updated only if file system does not return file type in directory_entry.

Methods
  • status(const path & p) -> const file_status &

    Get or compute file status.

  • has_type() const -> bool

    Returns true if file status was not queried for the current file.

  • has_status() const -> bool

    Returns true if file status was queried for the current file.

  • status() -> file_status &

    Get file status.

  • status() const -> const file_status &

    Get file status.

  • operator()(const path & prefix, const directory_entry & rhs) -> bool

    Returns true, if directory entry is not hidden.