< More...
#include <absmatcher.h>
Public Types | |
typedef P | Pattern |
![]() | |
typedef AbstractMatcher::Iterator< AbstractMatcher > | iterator |
std::input_iterator for scanning, searching, and splitting input character sequences More... | |
typedef AbstractMatcher::Iterator< const AbstractMatcher > | const_iterator |
Public Member Functions | |
PatternMatcher (const PatternMatcher &matcher) | |
Copy constructor. More... | |
virtual | ~PatternMatcher () |
Delete matcher, deletes pattern when owned, deletes this matcher's internal buffer. More... | |
virtual PatternMatcher & | pattern (const Pattern &pat) |
virtual PatternMatcher & | pattern (const char *regex) |
virtual PatternMatcher & | pattern (const std::string ®ex) |
const Pattern & | pattern (void) const |
![]() | |
virtual void | reset (const char *opt=NULL) |
Reset this matcher's state to the initial state and set options (when provided). More... | |
bool | buffer (size_t blk=0) |
void | interactive (void) |
void | flush (void) |
Flush the buffer's remaining content. More... | |
virtual AbstractMatcher & | input (const Input &inp) |
size_t | matches (void) |
size_t | accept (void) const |
const char * | text (void) const |
size_t | size (void) const |
size_t | lineno (void) const |
size_t | columno (void) const |
std::pair< size_t, std::string > | pair () const |
size_t | first (void) const |
size_t | last (void) const |
bool | at_bob (void) const |
bool | at_end (void) |
bool | hit_end (void) const |
void | set_end (bool eof) |
Set and force the end of input state. More... | |
bool | at_bol (void) const |
void | set_bol (bool bol) |
Set the begin of a new line state. More... | |
int | input (void) |
void | unput (char c) |
Put back one character on the input character sequence, invalidating current match info and text. More... | |
const char * | rest (void) |
void | more (void) |
Append the next match to the currently matched text returned by AbstractMatcher::text, when the next match found is adjacent to the current match. More... | |
void | less (size_t n) |
Truncate the AbstractMatcher::text length of the match to n characters in length and reposition for next match. More... | |
operator size_t () const | |
operator std::string () const | |
operator std::pair< size_t, std::string > () const | |
bool | operator== (const char *rhs) const |
< rhs string to compare to More... | |
bool | operator== (const std::string &rhs) const |
< rhs string to compare to More... | |
bool | operator== (size_t rhs) const |
< capture index to compare accept() to More... | |
bool | operator== (int rhs) const |
< capture index to compare accept() to More... | |
bool | operator!= (const char *rhs) const |
< rhs string to compare to More... | |
bool | operator!= (const std::string &rhs) const |
< rhs string to compare to More... | |
bool | operator!= (size_t rhs) const |
< capture index to compare accept() to More... | |
bool | operator!= (int rhs) const |
< capture index to compare accept() to More... | |
Protected Member Functions | |
PatternMatcher (const Pattern &pat, const Input &inp=Input(), const char *opt=NULL) | |
Construct a base abstract matcher from a pattern object and an input character sequence. More... | |
PatternMatcher (const Pattern *pat, const Input &inp=Input(), const char *opt=NULL) | |
Construct a base abstract matcher from a pattern object pointer and an input character sequence. More... | |
PatternMatcher (const char *regex, const Input &inp=Input(), const char *opt=NULL) | |
Construct a base abstract matcher from a regex pattern string and an input character sequence. More... | |
PatternMatcher (const std::string ®ex, const Input &inp=Input(), const char *opt=NULL) | |
Construct a base abstract matcher from a regex pattern string and an input character sequence. More... | |
![]() | |
AbstractMatcher (const Input &inp, const char *opt) | |
Construct a base abstract matcher. More... | |
void | init (const char *opt) |
Initialize the base abstract matcher at construction. More... | |
virtual size_t | get (char *s, size_t n) |
virtual bool | wrap (void) |
virtual size_t | match (Method method)=0 |
bool | grow (size_t need=Const::BLOCK) |
Shift or expand the internal buffer when it is too small to accommodate more input, where the buffer size is doubled when needed. More... | |
int | get (void) |
int | peek (void) |
void | set_current (size_t loc) |
Set the current position to advance to the next match. More... | |
Protected Attributes | |
bool | own_ |
true if PatternMatcher::pat_ was internally allocated More... | |
const Pattern * | pat_ |
points to the pattern object used by the matcher More... | |
![]() | |
Option | opt_ |
options for matcher engines More... | |
char * | buf_ |
input character sequence buffer More... | |
const char * | txt_ |
points to the matched text in buffer AbstractMatcher::buf_ More... | |
size_t | len_ |
size of the matched text More... | |
size_t | cap_ |
nonzero capture index of an accepted match or zero More... | |
size_t | cur_ |
next position in AbstractMatcher::buf_ to assign to AbstractMatcher::txt_ More... | |
size_t | pos_ |
position in AbstractMatcher::buf_ immediately after AbstractMatcher::txt_ More... | |
size_t | end_ |
ending position of the input buffered in AbstractMatcher::buf_ More... | |
size_t | max_ |
total buffer size and max position + 1 to fill More... | |
size_t | ind_ |
indent margin position More... | |
size_t | blk_ |
block size for block-based input reading, as set by AbstractMatcher::buffer More... | |
int | got_ |
last unsigned character we looked at (to determine anchors and boundaries) More... | |
int | chr_ |
the character located at AbstractMatcher::buf_[AbstractMatcher::pos_] More... | |
size_t | lno_ |
line number count (prior to this buffered input) More... | |
size_t | cno_ |
column number count (prior to this buffered input) More... | |
size_t | num_ |
character count (number of characters flushed prior to this buffered input) More... | |
bool | eof_ |
input has reached EOF More... | |
bool | mat_ |
true if AbstractMatcher::matches() was successful More... | |
Additional Inherited Members | |
![]() | |
Operation | scan |
functor to scan input (to tokenize input) More... | |
Operation | find |
functor to search input More... | |
Operation | split |
functor to split input More... | |
Input | in |
input character sequence being matched by this matcher More... | |
![]() | |
typedef int | Method |
<
The pattern matcher class template extends abstract matcher base class.
TODO
<P> | pattern class to instantiate a matcher |
typedef P reflex::PatternMatcher< P >::Pattern |
pattern class of this matcher, a typedef of the PatternMatcher template parameter
|
inline |
Copy constructor.
|
inlinevirtual |
Delete matcher, deletes pattern when owned, deletes this matcher's internal buffer.
|
inlineprotected |
Construct a base abstract matcher from a pattern object and an input character sequence.
pat | pattern object for this matcher |
inp | input character sequence for this matcher |
opt | option string of the form (A|N|T(=[[:digit:]])?|;)* |
|
inlineprotected |
Construct a base abstract matcher from a pattern object pointer and an input character sequence.
pat | points to pattern object for this matcher |
inp | input character sequence for this matcher |
opt | option string of the form (A|N|T(=[[:digit:]])?|;)* |
|
inlineprotected |
Construct a base abstract matcher from a regex pattern string and an input character sequence.
regex | regex string instantiates pattern object for this matcher |
inp | input character sequence for this matcher |
opt | option string of the form (A|N|T(=[[:digit:]])?|;)* |
|
inlineprotected |
Construct a base abstract matcher from a regex pattern string and an input character sequence.
regex | regex string instantiates pattern object for this matcher |
inp | input character sequence for this matcher |
opt | option string of the form (A|N|T(=[[:digit:]])?|;)* |
|
inlinevirtual |
Set the pattern to use with this matcher.
pat | pattern object for this matcher |
|
inlinevirtual |
Set the pattern from a regex string to use with this matcher.
regex | regex string to instantiate internal pattern object |
Reimplemented in reflex::BoostMatcher.
|
inlinevirtual |
Set the pattern from a regex string to use with this matcher.
regex | regex string to instantiate internal pattern object |
Reimplemented in reflex::BoostMatcher.
|
inline |
Returns the pattern object associated with this matcher.
|
protected |
true if PatternMatcher::pat_ was internally allocated
|
protected |
points to the pattern object used by the matcher