28 : mExcludedPaths(std::move(excludedPaths)), mCaseSensitive(caseSensitive)
54 if (excludedPath.length() > findpath.length())
58 if (findpath.compare(0, excludedPath.size(), excludedPath) == 0)
63 if (findpath.find(
"/" + excludedPath) != std::string::npos)
68 if (excludedPath.length() > findpath.length())
73 if (findpath.compare(findpath.size() - excludedPath.size(), findpath.size(), excludedPath) == 0)
83 const std::size_t ind = path.find_last_of(
'/');
84 return path.substr(0, ind + 1);
std::vector< std::string > mExcludedPaths
PathMatch(std::vector< std::string > excludedPaths, bool caseSensitive=true)
The constructor.
static std::string removeFilename(const std::string &path)
Remove filename part from the path.
std::vector< std::string > mWorkingDirectory
bool match(const std::string &path) const
Match path against list of masks.
static std::string fromNativeSeparators(std::string path)
Convert path to use internal path separators.
static std::string getCurrentPath()
Returns the absolute path of current working directory.
static std::string getRelativePath(const std::string &absolutePath, const std::vector< std::string > &basePaths)
Create a relative path from an absolute one, if absolute path is inside the basePaths.
static bool isAbsolute(const std::string &path)
Check if given path is absolute.
void strTolower(std::string &str)
bool endsWith(const std::string &str, char c)