|  | absmatcher.h File Reference updated Fri May 16 2025 by Robert van Engelen |

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

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 | REFLEX_OVERRIDE
| Permit legacy C++ compilation of override (ignored) and C++11 override (applied). More...
#define | REFLEX_LIKELY(x) (x)
#define | REFLEX_UNLIKELY(x) (x)
#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

Copyright
  (c) 2016-2024, Robert van Engelen, Genivia Inc. All rights reserved.
  (c) BSD-3 License - see LICENSE.txt

## Macro Definition Documentation

#define REFLEX_LIKELY | ( |  | x | ) | (x)

#define REFLEX_OVERRIDE

Permit legacy C++ compilation of override (ignored) and C++11 override (applied).

#define REFLEX_UNLIKELY | ( |  | x | ) | (x)

#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.