absmatcher.h File Reference

updated Tue Oct 29 2024 by Robert van Engelen
 
Classes | Namespaces | Macros | Functions
absmatcher.h File Reference

RE/flex abstract matcher base class and pattern matcher class. More...

#include <reflex/convert.h>
#include <reflex/debug.h>
#include <reflex/input.h>
#include <reflex/traits.h>
#include <reflex/simd.h>
#include <cstdlib>
#include <cstdint>
#include <cctype>
#include <iterator>
Include dependency graph for absmatcher.h:
This graph shows which files directly or indirectly include this file:

Classes

class  reflex::AbstractMatcher
 The abstract matcher base class template defines an interface for all pattern matcher engines. More...
 
struct  reflex::AbstractMatcher::Const
 AbstractMatcher::Const common constants. More...
 
struct  reflex::AbstractMatcher::Context
 Context returned by before() and after() More...
 
struct  reflex::AbstractMatcher::Handler
 Event handler functor base class to invoke when the buffer contents are shifted out, e.g. for logging the data searched. More...
 
struct  reflex::AbstractMatcher::Option
 AbstractMatcher::Options for matcher engines. More...
 
class  reflex::AbstractMatcher::Iterator< T >
 AbstractMatcher::Iterator class for scanning, searching, and splitting input character sequences. More...
 
class  reflex::AbstractMatcher::Operation
 AbstractMatcher::Operation functor to match input to a pattern, also provides a (const) AbstractMatcher::iterator to iterate over matches. More...
 
class  reflex::PatternMatcher< P >
 The pattern matcher class template extends abstract matcher base class. More...
 
class  reflex::PatternMatcher< std::string >
 A specialization of the pattern matcher class template for std::string, extends abstract matcher base class. More...
 

Namespaces

 reflex
 

Macros

#define WITH_REALLOC   1
 This compile-time option may speed up buffer reallocation with realloc() instead of new and delete. More...
 
#define WITH_FAST_GET   1
 This compile-time option speeds up matching, but slows input() somewhat. More...
 
#define WITH_SPAN   1
 This compile-time option adds span(), line(), wline(), bol(), eol(). More...
 

Functions

int reflex::isword (int c)
 Check ASCII word-like character [A-Za-z0-9_], permitting the character range 0..303 (0x12f) and EOF. More...
 
std::ostream & operator<< (std::ostream &os, const reflex::AbstractMatcher &matcher)
 Write matched text to a stream. More...
 
std::istream & operator>> (std::istream &is, reflex::AbstractMatcher &matcher)
 Read stream and store all content in the matcher's buffer. More...
 

Detailed Description

RE/flex abstract matcher base class and pattern matcher class.

Author
Robert van Engelen - engel.nosp@m.en@g.nosp@m.enivi.nosp@m.a.co.nosp@m.m

Macro Definition Documentation

#define WITH_FAST_GET   1

This compile-time option speeds up matching, but slows input() somewhat.

#define WITH_REALLOC   1

This compile-time option may speed up buffer reallocation with realloc() instead of new and delete.

#define WITH_SPAN   1

This compile-time option adds span(), line(), wline(), bol(), eol().

Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const reflex::AbstractMatcher matcher 
)
inline

Write matched text to a stream.

std::istream& operator>> ( std::istream &  is,
reflex::AbstractMatcher matcher 
)
inline

Read stream and store all content in the matcher's buffer.