Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

ixion::regex::matcher Class Template Reference

#include <ixlib_re.hh>

Inheritance diagram for ixion::regex::matcher::

ixion::regex::alternative_matcher ixion::regex::any_matcher ixion::regex::backref_close_matcher ixion::regex::backref_matcher ixion::regex::backref_open_matcher ixion::regex::end_matcher ixion::regex::quantifier ixion::regex::sequence_matcher ixion::regex::start_matcher List of all members.

Public Methods

 matcher ()
virtual ~matcher ()
virtual matcher * duplicate () const=0
TSize getMatchLength () const
TSize subsequentMatchLength () const
virtual TSize minimumMatchLength () const=0
TSize minimumSubsequentMatchLength () const
matcher * getNext () const
virtual void setNext (matcher *next, bool ownnext=true)
virtual bool match (backref_stack &brstack, T const &candidate, TIndex at)=0

Protected Methods

bool matchNext (backref_stack &brstack, T const &candidate, TIndex at) const
void copy (matcher const *src)

Protected Attributes

matcher * Next
bool OwnNext
TSize MatchLength

template<class T>
class ixion::regex< T >::matcher


Constructor & Destructor Documentation

template<class T>
ixion::regex< T >::matcher::matcher  
 

template<class T>
virtual ixion::regex< T >::matcher::~matcher   [virtual]
 


Member Function Documentation

template<class T>
void ixion::regex< T >::matcher::copy matcher const *    src [protected]
 

template<class T>
virtual matcher* ixion::regex< T >::matcher::duplicate   const [pure virtual]
 

Reimplemented in ixion::regex::quantifier, ixion::regex::sequence_matcher, ixion::regex::any_matcher, ixion::regex::start_matcher, ixion::regex::end_matcher, ixion::regex::backref_open_matcher, ixion::regex::backref_close_matcher, ixion::regex::alternative_matcher, and ixion::regex::backref_matcher.

template<class T>
TSize ixion::regex< T >::matcher::getMatchLength   const [inline]
 

Definition at line 128 of file ixlib_re.hh.

template<class T>
matcher* ixion::regex< T >::matcher::getNext   const [inline]
 

Definition at line 135 of file ixlib_re.hh.

template<class T>
virtual bool ixion::regex< T >::matcher::match backref_stack   brstack,
T const &    candidate,
TIndex    at
[pure virtual]
 

Reimplemented in ixion::regex::quantifier, ixion::regex::sequence_matcher, ixion::regex::any_matcher, ixion::regex::start_matcher, ixion::regex::end_matcher, ixion::regex::backref_open_matcher, ixion::regex::backref_close_matcher, ixion::regex::alternative_matcher, and ixion::regex::backref_matcher.

template<class T>
bool ixion::regex< T >::matcher::matchNext backref_stack   brstack,
T const &    candidate,
TIndex    at
const [inline, protected]
 

Definition at line 148 of file ixlib_re.hh.

template<class T>
virtual TSize ixion::regex< T >::matcher::minimumMatchLength   const [pure virtual]
 

Reimplemented in ixion::regex::quantifier, ixion::regex::sequence_matcher, ixion::regex::any_matcher, ixion::regex::start_matcher, ixion::regex::end_matcher, ixion::regex::backref_open_matcher, ixion::regex::backref_close_matcher, ixion::regex::alternative_matcher, and ixion::regex::backref_matcher.

template<class T>
TSize ixion::regex< T >::matcher::minimumSubsequentMatchLength   const
 

template<class T>
virtual void ixion::regex< T >::matcher::setNext matcher *    next,
bool    ownnext = true
[inline, virtual]
 

Reimplemented in ixion::regex::alternative_matcher.

Definition at line 138 of file ixlib_re.hh.

template<class T>
TSize ixion::regex< T >::matcher::subsequentMatchLength   const
 


Member Data Documentation

template<class T>
TSize ixion::regex::matcher::MatchLength [protected]
 

Definition at line 120 of file ixlib_re.hh.

template<class T>
matcher* ixion::regex::matcher::Next [protected]
 

Definition at line 118 of file ixlib_re.hh.

template<class T>
bool ixion::regex::matcher::OwnNext [protected]
 

Definition at line 119 of file ixlib_re.hh.


The documentation for this class was generated from the following file:
Generated on Wed Oct 31 17:12:27 2001 for ixlib by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001