srchilite::RegexHighlightRule Class Reference

An implementation of HighlightRule using Boost regex library. More...

#include <regexhighlightrule.h>

Inherits srchilite::HighlightRule.

Collaboration diagram for srchilite::RegexHighlightRule:
[legend]

List of all members.

Public Member Functions

 RegexHighlightRule (const std::string &s)
 RegexHighlightRule (const std::string &name, const std::string &s)
virtual bool tryToMatch (std::string::const_iterator start, std::string::const_iterator end, HighlightToken &token, const MatchingParameters &params)
 Try to match this rule against the passed string.
virtual const std::string toString () const
virtual void replaceReferences (const ReplacementList &rep)
 Performs replacement of references in this rule.
virtual HighlightRuleclone ()
void setRegExp (const std::string &s)
virtual bool tryToMatch (const std::string &s, HighlightToken &token, const MatchingParameters &params)
 Try to match this rule against the passed string (implemented by calling the pure virtual function tryToMatch below).
const HighlightStatePtr getNextState () const
void setNextState (HighlightStatePtr _nextState)
void addElem (const std::string &name)
 Adds an element name to the list of this rule.
const ElemListgetElemList () const
int getExitLevel () const
void setExitLevel (int l)
bool isNested () const
void setNested (bool n)
bool getNeedsReferenceReplacement () const
void setNeedsReferenceReplacement (bool b=true)
bool getHasSubexpressions () const
void setHasSubexpressions (bool b=true)
std::string getAdditionalInfo () const
void setAdditionalInfo (const std::string &info)

Private Attributes

boost::regex regExp
 the regular expression for the rule

Detailed Description

An implementation of HighlightRule using Boost regex library.


Constructor & Destructor Documentation

srchilite::RegexHighlightRule::RegexHighlightRule ( const std::string &  s  ) 
Parameters:
s the string representing the regular expression
srchilite::RegexHighlightRule::RegexHighlightRule ( const std::string &  name,
const std::string &  s 
)
Parameters:
name the element name represented by this rule
s the string representing the regular expression

Member Function Documentation

void srchilite::HighlightRule::addElem ( const std::string &  name  )  [inherited]

Adds an element name to the list of this rule.

Parameters:
name the name to add
HighlightRule * srchilite::RegexHighlightRule::clone (  )  [virtual]
Returns:
a copy of this rule.

Implements srchilite::HighlightRule.

void srchilite::RegexHighlightRule::replaceReferences ( const ReplacementList rep  )  [virtual]

Performs replacement of references in this rule.

Parameters:
the list of values for the replacement; the first element is the value for replacing the first dynamic back reference, and so on. (it should contain 9 possibly empty elements)

Implements srchilite::HighlightRule.

bool srchilite::HighlightRule::tryToMatch ( const std::string &  s,
HighlightToken token,
const MatchingParameters params 
) [virtual, inherited]

Try to match this rule against the passed string (implemented by calling the pure virtual function tryToMatch below).

The passed token is assumed to be reset (i.e., no existing matching information is stored in it when passing it to this method).

Parameters:
s the string for trying to match the rule
token where results will be inserted, if the rule matched
params additional arguments for the matching
Returns:
the result of this matching
bool srchilite::RegexHighlightRule::tryToMatch ( std::string::const_iterator  start,
std::string::const_iterator  end,
HighlightToken token,
const MatchingParameters params 
) [virtual]

Try to match this rule against the passed string.

Parameters:
start the beginning of the string for trying to match the rule
end the beginning of the string for trying to match the rule
token where results will be inserted, if the rule matched
params additional arguments for the matching
Returns:
the result of this matching

Implements srchilite::HighlightRule.


The documentation for this class was generated from the following files:

Generated by  doxygen 1.6.2