5 #ifndef CVMFS_PATHSPEC_PATHSPEC_PATTERN_H_
6 #define CVMFS_PATHSPEC_PATHSPEC_PATTERN_H_
43 virtual bool IsEmpty()
const {
return false; }
102 const std::string::const_iterator &end);
115 return !(*
this == other);
119 void Parse(
const std::string::const_iterator &begin,
120 const std::string::const_iterator &end);
121 SubPattern*
ParsePlaintext(
const std::string::const_iterator &end,
122 std::string::const_iterator *i);
124 std::string::const_iterator *i);
131 #endif // CVMFS_PATHSPEC_PATHSPEC_PATTERN_H_
PathspecElementPattern(const std::string::const_iterator begin, const std::string::const_iterator &end)
SubPattern * Clone() const
PlaintextSubPattern(const PlaintextSubPattern &other)
bool Compare(const SubPattern *other) const
SubPattern * Clone() const
virtual std::string GenerateRegularExpression(const bool is_relaxed) const =0
void Parse(const std::string::const_iterator &begin, const std::string::const_iterator &end)
bool IsSpecialRegexCharacter(const char chr) const
virtual bool IsPlaceholder() const
SubPattern * Clone() const
std::string GenerateRegularExpression(const bool is_relaxed) const
~PathspecElementPattern()
std::vector< SubPattern * > SubPatterns
std::string GenerateGlobString() const
virtual std::string GenerateGlobString() const =0
bool operator==(const PathspecElementPattern &other) const
void AddChar(const char chr)
SubPattern * ParsePlaintext(const std::string::const_iterator &end, std::string::const_iterator *i)
std::string GenerateGlobString() const
std::string GenerateGlobString() const
bool Compare(const SubPattern *other) const
std::string GenerateGlobString() const
PathspecElementPattern & operator=(const PathspecElementPattern &other)
bool IsPlaceholder() const
std::string GenerateRegularExpression(const bool is_relaxed=false) const
virtual bool Compare(const SubPattern *other) const =0
std::string GenerateRegularExpression(const bool is_relaxed) const
PlaintextSubPattern & operator=(const PlaintextSubPattern &other)
virtual bool IsPlaintext() const
std::string GenerateRegularExpression(const bool is_relaxed) const
bool operator!=(const PathspecElementPattern &other) const
virtual SubPattern * Clone() const =0
bool Compare(const SubPattern *other) const
SubPattern * ParseSpecialChar(const std::string::const_iterator &end, std::string::const_iterator *i)
virtual bool IsWildcard() const
virtual bool IsEmpty() const