5 #ifndef CVMFS_PATHSPEC_PATHSPEC_H_
6 #define CVMFS_PATHSPEC_PATHSPEC_H_
68 explicit Pathspec(
const std::string &spec);
80 bool IsMatching(
const std::string &query_path)
const;
140 void Parse(
const std::string &spec);
142 std::string::const_iterator *itr);
149 regex_t *regex)
const;
156 const bool is_prefix =
false)
const;
185 #endif // CVMFS_PATHSPEC_PATHSPEC_H_
bool glob_string_compiled_
const GlobStringSequence & GetGlobStringSequence() const
bool operator==(const Pathspec &other) const
regex_t * GetRelaxedRegularExpression() const
regex_t * CompileRegularExpression(const std::string ®ex) const
void Parse(const std::string &spec)
static bool IsSpecialChar(const char chr)
void ParsePathElement(const std::string::const_iterator &end, std::string::const_iterator *itr)
GlobStringSequence glob_string_sequence_
bool IsPrefixMatching(const std::string &query_path) const
regex_t * GetPrefixRegularExpression() const
bool glob_string_sequence_compiled_
void GenerateGlobString() const
std::vector< PathspecElementPattern > ElementPatterns
std::string GenerateRegularExpression(const bool is_relaxed=false, const bool is_prefix=false) const
bool IsPathspecMatchingRelaxed(const std::string &query_path) const
static const char kEscaper
bool prefix_regex_compiled_
regex_t * GetRegularExpression() const
void DestroyRegularExpressions()
void PrintRegularExpressionError(const int error_code) const
bool IsPathspecPrefixMatching(const std::string &query_path) const
static const char kSeparator
void GenerateGlobStringSequence() const
bool IsPathspecMatching(const std::string &query_path) const
static const char kWildcard
std::vector< std::string > GlobStringSequence
bool relaxed_regex_compiled_
bool operator!=(const Pathspec &other) const
bool ApplyRegularExpression(const std::string &query_path, regex_t *regex) const
Pathspec & operator=(const Pathspec &other)
bool IsMatchingRelaxed(const std::string &query_path) const
const std::string & GetGlobString() const
ElementPatterns patterns_
bool IsMatching(const std::string &query_path) const
static const char kPlaceholder
Pathspec(const std::string &spec)