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

A match-time code-point class for the klass_cp opcode: an ASCII bitmap for code points < 0x80 plus a slice of sorted non-ASCII ranges (indexing the program's flat cp_ranges buffer). It is the already-effective set (any \W/[^…] negation is materialised at compile time). Unlike the byte-NFA klass, the ranges are kept and binary-searched at match time — O(log ranges) per position, independent of the range count. More...

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

Public Attributes

char_class ascii
 Members < 0x80.
 
std::uint32_t range_begin {}
 First range in the program's cp_ranges buffer.
 
std::uint32_t range_count {}
 Number of ranges belonging to this class.
 

Detailed Description

A match-time code-point class for the klass_cp opcode: an ASCII bitmap for code points < 0x80 plus a slice of sorted non-ASCII ranges (indexing the program's flat cp_ranges buffer). It is the already-effective set (any \W/[^…] negation is materialised at compile time). Unlike the byte-NFA klass, the ranges are kept and binary-searched at match time — O(log ranges) per position, independent of the range count.

Definition at line 178 of file program.hpp.

Member Data Documentation

◆ ascii

char_class real::detail::cp_class::ascii

Members < 0x80.

Definition at line 180 of file program.hpp.

◆ range_begin

std::uint32_t real::detail::cp_class::range_begin {}

First range in the program's cp_ranges buffer.

Definition at line 181 of file program.hpp.

◆ range_count

std::uint32_t real::detail::cp_class::range_count {}

Number of ranges belonging to this class.

Definition at line 182 of file program.hpp.


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