ndn::RegexTopMatcher Class Reference

#include <ndn-cxx/util/regex/regex-top-matcher.hpp>

+ Inheritance diagram for ndn::RegexTopMatcher:
+ Collaboration diagram for ndn::RegexTopMatcher:

Public Types

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

Public Member Functions

 RegexTopMatcher (const std::string &expr, const std::string &expand="")
 
virtual Name expand (const std::string &expand="")
 
const std::string & getExpr () const
 
const std::vector< name::Component > & getMatchResult () const
 get the matched name components More...
 
bool match (const Name &name)
 
bool match (const Name &name, size_t offset, size_t len) override
 

Static Public Member Functions

static shared_ptr< RegexTopMatcherfromName (const Name &name, bool hasAnchor=false)
 

Protected Attributes

shared_ptr< RegexBackrefManagerm_backrefManager
 
const std::string m_expr
 
std::vector< shared_ptr< RegexMatcher > > m_matchers
 
std::vector< name::Componentm_matchResult
 
const RegexExprType m_type
 

Detailed Description

Definition at line 34 of file regex-top-matcher.hpp.

Member Enumeration Documentation

◆ RegexExprType

Enumerator
EXPR_TOP 
EXPR_PATTERN_LIST 
EXPR_REPEAT_PATTERN 
EXPR_BACKREF 
EXPR_COMPONENT_SET 
EXPR_COMPONENT 
EXPR_PSEUDO 

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

Constructor & Destructor Documentation

◆ RegexTopMatcher()

ndn::RegexTopMatcher::RegexTopMatcher ( const std::string &  expr,
const std::string &  expand = "" 
)
explicit

Definition at line 33 of file regex-top-matcher.cpp.

Member Function Documentation

◆ expand()

Name ndn::RegexTopMatcher::expand ( const std::string &  expand = "")
virtual

Definition at line 92 of file regex-top-matcher.cpp.

◆ fromName()

shared_ptr< RegexTopMatcher > ndn::RegexTopMatcher::fromName ( const Name name,
bool  hasAnchor = false 
)
static

Definition at line 171 of file regex-top-matcher.cpp.

◆ getExpr()

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

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

◆ getMatchResult()

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

get the matched name components

Returns
the matched name components

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

◆ match() [1/2]

bool ndn::RegexTopMatcher::match ( const Name name)

Definition at line 65 of file regex-top-matcher.cpp.

◆ match() [2/2]

bool ndn::RegexTopMatcher::match ( const Name name,
size_t  offset,
size_t  len 
)
overridevirtual

Reimplemented from ndn::RegexMatcher.

Definition at line 86 of file regex-top-matcher.cpp.

Member Data Documentation

◆ m_backrefManager

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

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

◆ m_expr

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

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

◆ m_matchers

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

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

◆ m_matchResult

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

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

◆ m_type

const RegexExprType ndn::RegexMatcher::m_type
protectedinherited

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