Class CDirectoryExplorer

Nested Relationships

Nested Types

Class Documentation

class CDirectoryExplorer

This class allows the enumeration of the files/directories that exist into a given path. The only existing method is “explore” and returns the list of found files & directories. Refer to the example in /mrpt_examples_cpp/UTILS/directoryExplorer

Public Types

using TFileInfoList = std::deque<TFileInfo>

The list type used in “explore”.

See also

explore

Public Static Functions

static TFileInfoList explore(const std::string &path, const unsigned long mask)

The path of the directory to examine must be passed to this constructor, among the According to the following parameters, the object will collect the list of files, which can be modified later through other methods in this class.

See also

sortByName

Parameters:
  • path – The path to examine (IT MUST BE A DIRECTORY), e.g “d:\temp", or “/usr/include/”

  • mask – One or the OR’ed combination of the values “FILE_ATTRIB_ARCHIVE” and “FILE_ATTRIB_DIRECTORY”, depending on what file types do you want in the list (These values are platform-independent).

  • outList – The list of found files/directories is stored here.

static inline void explore(const std::string &path, const unsigned long mask, TFileInfoList &outList)
static void sortByName(TFileInfoList &lstFiles, bool ascendingOrder = true)

Sort the file entries by name, in ascending or descending order

static void filterByExtension(TFileInfoList &lstFiles, const std::string &extension)

Remove from the list of files those whose extension does not coincide (without case) with the given one. Example: filterByExtension(lst,”txt”);

struct TFileInfo

This represents the information about each file.

See also

Public Members

std::string name

The file name part only, without path.

std::string wholePath

Full, absolute path of the file

mrpt::Clock::time_point accessTime

Access and modification times.

mrpt::Clock::time_point modTime
bool isDir = false
bool isSymLink = false
uint64_t fileSize = 0

File size [bytes].