29 shared_ptr<RegexBackrefManager> backrefManager)
46 if (recursiveMatch(0, name, offset, len)) {
47 for (
size_t i = offset; i < offset + len; i++)
56 RegexMatcher::recursiveMatch(
size_t matcherNo,
const Name& name,
size_t offset,
size_t len)
65 if (matcher->match(name, offset, tried) &&
66 recursiveMatch(matcherNo + 1, name, offset + tried, len - tried))
Represents an absolute name.
const Component & get(ssize_t i) const noexcept
Returns an immutable reference to the component at the specified index.
std::vector< name::Component > m_matchResult
RegexMatcher(const std::string &expr, RegexExprType type, shared_ptr< RegexBackrefManager > backrefManager=nullptr)
virtual bool match(const Name &name, size_t offset, size_t len)
const std::string & getExpr() const
shared_ptr< RegexBackrefManager > m_backrefManager
std::vector< shared_ptr< RegexMatcher > > m_matchers
std::ostream & operator<<(std::ostream &os, const Data &data)