REAL
Regular Expression Algorithmic Library — constexpr C++20 regex
Loading...
Searching...
No Matches
real::detail::class_def Struct Reference

A parsed character class: its ASCII bitmap plus any non-ASCII code-point ranges. Bundling the two (rather than parallel side tables) makes them impossible to desynchronize. More...

#include <ast.hpp>

Collaboration diagram for real::detail::class_def:
[legend]

Public Attributes

char_class ascii
 ASCII members as a bitmap (all 256 bytes in bytes mode); pre-negation.
 
std::vector< code_rangeranges
 Non-ASCII code-point ranges (code-point mode only; empty otherwise).
 
bool codepoint_predicate {}
 Emit as a match-time klass_cp (a Unicode shorthand \w/\d/\s in text mode), not the byte-NFA.
 

Detailed Description

A parsed character class: its ASCII bitmap plus any non-ASCII code-point ranges. Bundling the two (rather than parallel side tables) makes them impossible to desynchronize.

Definition at line 97 of file ast.hpp.

Member Data Documentation

◆ ascii

char_class real::detail::class_def::ascii

ASCII members as a bitmap (all 256 bytes in bytes mode); pre-negation.

Definition at line 99 of file ast.hpp.

◆ codepoint_predicate

bool real::detail::class_def::codepoint_predicate {}

Emit as a match-time klass_cp (a Unicode shorthand \w/\d/\s in text mode), not the byte-NFA.

Definition at line 101 of file ast.hpp.

◆ ranges

std::vector<code_range> real::detail::class_def::ranges

Non-ASCII code-point ranges (code-point mode only; empty otherwise).

Definition at line 100 of file ast.hpp.


The documentation for this struct was generated from the following file: