#include <regex-matcher.hpp>
Classes | |
class | Error |
Public Types | |
enum | RegexExprType { EXPR_TOP, EXPR_PATTERN_LIST, EXPR_REPEAT_PATTERN, EXPR_BACKREF, EXPR_COMPONENT_SET, EXPR_COMPONENT, EXPR_PSEUDO } |
Public Member Functions | |
RegexMatcher (const std::string &expr, const RegexExprType &type, shared_ptr< RegexBackrefManager > backrefManager=shared_ptr< RegexBackrefManager >()) | |
virtual | ~RegexMatcher () |
virtual bool | match (const Name &name, size_t offset, size_t len) |
const std::vector< name::Component > & | getMatchResult () const |
get the matched name components More... | |
const std::string & | getExpr () const |
Protected Member Functions | |
virtual void | compile ()=0 |
Compile the regular expression to generate the more matchers when necessary. More... | |
Protected Attributes | |
const std::string | m_expr |
const RegexExprType | m_type |
shared_ptr< RegexBackrefManager > | m_backrefManager |
std::vector< shared_ptr< RegexMatcher > > | m_matchers |
std::vector< name::Component > | m_matchResult |
Definition at line 34 of file regex-matcher.hpp.
Enumerator | |
---|---|
EXPR_TOP | |
EXPR_PATTERN_LIST | |
EXPR_REPEAT_PATTERN | |
EXPR_BACKREF | |
EXPR_COMPONENT_SET | |
EXPR_COMPONENT | |
EXPR_PSEUDO |
Definition at line 47 of file regex-matcher.hpp.
|
inline |
Definition at line 117 of file regex-matcher.hpp.
References m_backrefManager.
|
inlinevirtual |
Definition at line 129 of file regex-matcher.hpp.
|
inlinevirtual |
Reimplemented in ndn::RegexComponentMatcher, ndn::RegexComponentSetMatcher, ndn::RegexRepeatMatcher, and ndn::RegexTopMatcher.
Definition at line 134 of file regex-matcher.hpp.
References ndn::Name::get(), m_matchers, and m_matchResult.
|
inline |
get the matched name components
Definition at line 72 of file regex-matcher.hpp.
References m_matchResult.
|
inline |
Definition at line 78 of file regex-matcher.hpp.
References compile(), and m_expr.
Referenced by ndn::operator<<().
|
protectedpure virtual |
Compile the regular expression to generate the more matchers when necessary.
Implemented in ndn::RegexComponentMatcher, ndn::RegexTopMatcher, ndn::RegexComponentSetMatcher, ndn::RegexRepeatMatcher, ndn::RegexBackrefMatcher, ndn::RegexPseudoMatcher, and ndn::RegexPatternListMatcher.
Referenced by getExpr().
|
protected |
Definition at line 96 of file regex-matcher.hpp.
Referenced by ndn::RegexPatternListMatcher::compile(), ndn::RegexBackrefMatcher::compile(), ndn::RegexRepeatMatcher::compile(), ndn::RegexComponentSetMatcher::compile(), ndn::RegexTopMatcher::compile(), ndn::RegexComponentMatcher::compile(), getExpr(), ndn::RegexComponentSetMatcher::match(), and ndn::RegexComponentMatcher::match().
|
protected |
Definition at line 97 of file regex-matcher.hpp.
|
protected |
Definition at line 98 of file regex-matcher.hpp.
Referenced by ndn::RegexPatternListMatcher::compile(), ndn::RegexBackrefMatcher::compile(), ndn::RegexRepeatMatcher::compile(), ndn::RegexComponentSetMatcher::compile(), ndn::RegexComponentMatcher::compile(), and RegexMatcher().
|
protected |
Definition at line 99 of file regex-matcher.hpp.
Referenced by ndn::RegexPatternListMatcher::compile(), ndn::RegexBackrefMatcher::compile(), ndn::RegexRepeatMatcher::compile(), ndn::RegexRepeatMatcher::match(), and match().
|
protected |
Definition at line 100 of file regex-matcher.hpp.
Referenced by ndn::RegexTopMatcher::expand(), getMatchResult(), ndn::RegexTopMatcher::match(), ndn::RegexRepeatMatcher::match(), ndn::RegexComponentSetMatcher::match(), ndn::RegexComponentMatcher::match(), match(), ndn::RegexPseudoMatcher::resetMatchResult(), and ndn::RegexPseudoMatcher::setMatchResult().