24 #ifndef NDN_UTIL_REGEX_REGEX_TOP_MATCHER_HPP 25 #define NDN_UTIL_REGEX_REGEX_TOP_MATCHER_HPP 27 #include "../../common.hpp" 33 class RegexPatternListMatcher;
34 class RegexBackrefManager;
48 match(
const Name& name,
size_t offset,
size_t len);
53 static shared_ptr<RegexTopMatcher>
62 getItemFromExpand(
const std::string& expand,
size_t& offset);
65 convertSpecialChar(
const std::string& str);
68 const std::string m_expand;
69 shared_ptr<RegexPatternListMatcher> m_primaryMatcher;
70 shared_ptr<RegexPatternListMatcher> m_secondaryMatcher;
71 shared_ptr<RegexBackrefManager> m_primaryBackrefManager;
72 shared_ptr<RegexBackrefManager> m_secondaryBackrefManager;
73 bool m_isSecondaryUsed;
78 #endif // NDN_UTIL_REGEX_REGEX_TOP_MATCHER_HPP Copyright (c) 2013-2017 Regents of the University of California.
static shared_ptr< RegexTopMatcher > fromName(const Name &name, bool hasAnchor=false)
#define NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE
virtual void compile()
Compile the regular expression to generate the more matchers when necessary.
Represents an absolute name.
virtual Name expand(const std::string &expand="")
bool match(const Name &name)
virtual ~RegexTopMatcher()
RegexTopMatcher(const std::string &expr, const std::string &expand="")