CoreComponents 3.0.0
A Modern C++ Toolkit
Loading...
Searching...
No Matches
DirWalk Class Reference

Recursive directory tree traversal. More...

#include <cc/DirWalk>

Inheritance diagram for DirWalk:

Public Types

enum  Mode {
  Default = 0 , FilesOnly = 1 , DirsOnly = 2 , FollowSymlink = 8 ,
  IgnoreHidden = 16 , DeleteOrder = 32 , NotADir = 64
}
 Mode of operation. More...
 
using Item = String
 Item type.
 

Public Member Functions

 DirWalk ()=default
 Create a null object.
 
 DirWalk (const String &path, Mode mode=Mode::Default, int maxDepth=-1)
 Open directory at path for recursive tree traversal.
 
bool read (Out< String > path)
 Read next path.
 
bool read (Out< String > path, Out< bool > isDir)
 Read next path.
 
SourceIterator< DirWalkbegin ()
 Iteration start.
 
SourceIterator< DirWalkend ()
 Iteration end.
 
- Public Member Functions inherited from Object
 Object ()=default
 Create a null object.
 
 operator bool () const
 Check if this is a non-null object.
 
bool isNull () const
 Check if this is a null object.
 
template<class T >
bool is () const
 Check if this object is of type T.
 
template<class T >
as () const
 Cast this object to type T.
 
bool isWeak () const
 Check if the underlying object reference is weak.
 
bool operator== (const Object &other) const
 Equality operator.
 
std::strong_ordering operator<=> (const Object &other) const
 Ordering operator.
 
long useCount () const
 Reference count.
 

Additional Inherited Members

- Protected Member Functions inherited from Object
template<class T >
weak () const
 
template<class T >
void initOnce ()
 Create the object state when called the first time.
 
template<class T >
void initOncePerThread ()
 Create a distinct object state for each thread when called the first time in that thread.
 
 Object (State *newState)
 Initialize object with newState.
 
 Object (State *state, Alias)
 
 Object (State *state, Weak)
 
Objectoperator= (std::nullptr_t)
 
- Static Protected Member Functions inherited from Object
template<class T >
static T alias (const State *state)
 Create an alias object for the given state.
 
template<class T >
static T weak (const State *state)
 
- Protected Attributes inherited from Object
Handle< Stateme
 Internal object state
 

Detailed Description

Recursive directory tree traversal.

Member Typedef Documentation

◆ Item

using Item = String

Item type.

Member Enumeration Documentation

◆ Mode

enum Mode

Mode of operation.

Enumerator
Default 

Default options.

FilesOnly 

Deliver paths of (non-directory) files, only.

DirsOnly 

Deliver paths of directories, only.

FollowSymlink 

Follow symlinks.

IgnoreHidden 

Ignore hidden files.

DeleteOrder 

Iterate paths suitable for recursive deletion.

Constructor & Destructor Documentation

◆ DirWalk() [1/2]

DirWalk ( )
default

Create a null object.

◆ DirWalk() [2/2]

DirWalk ( const String & path,
Mode mode = Mode::Default,
int maxDepth = -1 )
explicit

Open directory at path for recursive tree traversal.

Member Function Documentation

◆ read() [1/2]

bool read ( Out< String > path)

Read next path.

Parameters
pathReturns the next path
Returns
True if not end of information

◆ read() [2/2]

bool read ( Out< String > path,
Out< bool > isDir )

Read next path.

Parameters
pathReturns the next path
isDirTrue if the returned path points to a directory
Returns
True if not end of information

◆ begin()

SourceIterator< DirWalk > begin ( )

Iteration start.

◆ end()

SourceIterator< DirWalk > end ( )

Iteration end.