class mrpt::system::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 /samples/UTILS/directoryExplorer
See also:
#include <mrpt/system/CDirectoryExplorer.h> class CDirectoryExplorer { public: // typedefs typedef std::deque<TFileInfo> TFileInfoList; // structs struct TFileInfo; // methods static TFileInfoList explore(const std::string& path, const unsigned long mask); static void explore(const std::string& path, const unsigned long mask, TFileInfoList& outList); static void sortByName(TFileInfoList& lstFiles, bool ascendingOrder = true); static void filterByExtension(TFileInfoList& lstFiles, const std::string& extension); };
Typedefs
typedef std::deque<TFileInfo> TFileInfoList
The list type used in “explore”.
See also:
Methods
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.
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. |
See also:
static void explore( const std::string& path, const unsigned long mask, TFileInfoList& outList )
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
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”);