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 klass_cp: an ASCII bitmap below 0x80 plus a slice of sorted non-ASCII ranges in the program's flat cp_ranges, negation already applied. Unlike the byte-NFA klass, the ranges are kept and searched at match time (O(log ranges)). 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 {}
 
std::uint64_t fingerprint {}
 

Detailed Description

A match-time code-point class for klass_cp: an ASCII bitmap below 0x80 plus a slice of sorted non-ASCII ranges in the program's flat cp_ranges, negation already applied. Unlike the byte-NFA klass, the ranges are kept and searched at match time (O(log ranges)).

Member Data Documentation

◆ fingerprint

std::uint64_t real::detail::cp_class::fingerprint {}

Content identity (FNV-1a of bitmap and ranges), set once at intern and never re-hashed per probe. The thread-local cp_hi cache keys by it, not by pointer: a recycled cp_ranges address must not hit.

◆ range_count

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

Number of ranges belonging to this class.


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