All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ndn::RegexBackrefMatcher Class Reference

#include <regex-backref-matcher.hpp>

Inheritance diagram for ndn::RegexBackrefMatcher:
[legend]
Collaboration diagram for ndn::RegexBackrefMatcher:
[legend]

Public Types

enum  RegexExprType {
  EXPR_TOP, EXPR_PATTERNLIST, EXPR_REPEAT_PATTERN, EXPR_BACKREF,
  EXPR_COMPONENT_SET, EXPR_COMPONENT, EXPR_PSEUDO
}
 

Public Member Functions

 RegexBackrefMatcher (const std::string &expr, shared_ptr< RegexBackrefManager > backRefManager)
 
virtual ~RegexBackrefMatcher ()
 
void lateCompile ()
 
virtual bool match (const Name &name, const int &offset, const int &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 ()
 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< RegexBackrefManagerm_backrefManager
 
std::vector< shared_ptr
< RegexMatcher > > 
m_matcherList
 
std::vector< name::Componentm_matchResult
 

Detailed Description

Definition at line 17 of file regex-backref-matcher.hpp.

Member Enumeration Documentation

Enumerator
EXPR_TOP 
EXPR_PATTERNLIST 
EXPR_REPEAT_PATTERN 
EXPR_BACKREF 
EXPR_COMPONENT_SET 
EXPR_COMPONENT 
EXPR_PSEUDO 

Definition at line 31 of file regex-matcher.hpp.

Constructor & Destructor Documentation

ndn::RegexBackrefMatcher::RegexBackrefMatcher ( const std::string &  expr,
shared_ptr< RegexBackrefManager backRefManager 
)
inline

Definition at line 41 of file regex-backref-matcher.hpp.

virtual ndn::RegexBackrefMatcher::~RegexBackrefMatcher ( )
inlinevirtual

Definition at line 22 of file regex-backref-matcher.hpp.

Member Function Documentation

void ndn::RegexBackrefMatcher::compile ( )
inlineprotectedvirtual

Compile the regular expression to generate the more matchers when necessary.

Returns
true if compiling succeeds

Implements ndn::RegexMatcher.

Definition at line 48 of file regex-backref-matcher.hpp.

const std::string& ndn::RegexMatcher::getExpr ( ) const
inlineinherited

Definition at line 64 of file regex-matcher.hpp.

const std::vector<name::Component>& ndn::RegexMatcher::getMatchResult ( ) const
inlineinherited

get the matched name components

Returns
the matched name components

Definition at line 60 of file regex-matcher.hpp.

void ndn::RegexBackrefMatcher::lateCompile ( )
inline

Definition at line 25 of file regex-backref-matcher.hpp.

bool ndn::RegexMatcher::match ( const Name name,
const int &  offset,
const int &  len 
)
inlinevirtualinherited

Field Documentation

shared_ptr<RegexBackrefManager> ndn::RegexMatcher::m_backrefManager
protectedinherited

Definition at line 83 of file regex-matcher.hpp.

const std::string ndn::RegexMatcher::m_expr
protectedinherited

Definition at line 81 of file regex-matcher.hpp.

std::vector<shared_ptr<RegexMatcher> > ndn::RegexMatcher::m_matcherList
protectedinherited

Definition at line 84 of file regex-matcher.hpp.

std::vector<name::Component> ndn::RegexMatcher::m_matchResult
protectedinherited

Definition at line 85 of file regex-matcher.hpp.

const RegexExprType ndn::RegexMatcher::m_type
protectedinherited

Definition at line 82 of file regex-matcher.hpp.