Main MRPT website > C++ reference for MRPT 1.9.9
List of all members | Classes | Public Types | Static Public Member Functions
mrpt::system::CDirectoryExplorer Class Reference

Detailed Description

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 /samples/UTILS/directoryExplorer

See also
CFileSystemWatcher

Definition at line 32 of file CDirectoryExplorer.h.

#include <mrpt/system/CDirectoryExplorer.h>

Classes

struct  TFileInfo
 This represents the information about each file. More...
 

Public Types

typedef std::deque< TFileInfoTFileInfoList
 The list type used in "explore". More...
 

Static Public Member Functions

static void explore (const std::string &path, const unsigned long mask, TFileInfoList &outList)
 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. More...
 
static void sortByName (TFileInfoList &lstFiles, bool ascendingOrder=true)
 Sort the file entries by name, in ascending or descending order. More...
 
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. More...
 

Member Typedef Documentation

◆ TFileInfoList

The list type used in "explore".

See also
explore

Definition at line 62 of file CDirectoryExplorer.h.

Member Function Documentation

◆ explore()

void CDirectoryExplorer::explore ( const std::string path,
const unsigned long  mask,
TFileInfoList outList 
)
static

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.

Parameters
pathThe path to examine (IT MUST BE A DIRECTORY), e.g "d:\temp\", or "/usr/include/"
maskOne 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).
outListThe list of found files/directories is stored here.
See also
sortByName

Definition at line 48 of file CDirectoryExplorer.cpp.

References mrpt::system::CDirectoryExplorer::TFileInfo::accessTime, FILE_ATTRIB_ARCHIVE, FILE_ATTRIB_DIRECTORY, mrpt::system::CDirectoryExplorer::TFileInfo::fileSize, mrpt::system::CDirectoryExplorer::TFileInfo::isDir, mrpt::system::CDirectoryExplorer::TFileInfo::isSymLink, mrpt::system::CDirectoryExplorer::TFileInfo::modTime, MRPT_END, MRPT_START, mrpt::system::CDirectoryExplorer::TFileInfo::name, THROW_EXCEPTION, THROW_EXCEPTION_FMT, and mrpt::system::CDirectoryExplorer::TFileInfo::wholePath.

◆ filterByExtension()

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

Remove from the list of files those whose extension does not coincide (without case) with the given one.

Example: filterByExtension(lst,"txt");

Definition at line 221 of file CDirectoryExplorer.cpp.

References mrpt::system::os::_strcmpi(), and mrpt::system::extractFileExtension().

Here is the call graph for this function:

◆ sortByName()

void CDirectoryExplorer::sortByName ( TFileInfoList lstFiles,
bool  ascendingOrder = true 
)
static

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

Definition at line 210 of file CDirectoryExplorer.cpp.

References cmpFileEntriesName_Asc(), and cmpFileEntriesName_Desc().

Here is the call graph for this function:



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019