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

Owning, heap-allocated program: the storage backing real::regex. More...

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

Public Member Functions

constexpr program_view view () const
 Returns a non-owning program_view over this program.
 

Public Attributes

std::vector< instrcode
 The instruction stream (main program + lookaround sub-program regions).
 
std::vector< char_classclasses
 Interned character classes.
 
std::vector< named_groupnames
 Named capture groups.
 
std::vector< lookaround_sublookarounds
 Bounded lookaround sub-programs (regions of code).
 
std::vector< cp_classcp_classes
 Match-time code-point classes (for klass_cp).
 
std::vector< code_rangecp_ranges
 Flat range buffer the cp_class slices index into.
 
std::vector< instrprefix_code
 IL: the inner-literal prefix sub-program (the part before the literal), for the reverse start-finder. Empty unless there is a required literal with a top-level prefix. Dynamic-only (not built during constant evaluation).
 
std::vector< char_classprefix_classes
 IL: classes for prefix_code.
 
std::vector< cp_classprefix_cp_classes
 IL: code-point classes (klass_cp) for prefix_code.
 
std::vector< code_rangeprefix_cp_ranges
 IL: flat range buffer for prefix_cp_classes.
 
std::uint16_t slot_count {2}
 2 * (capture groups + 1).
 
bool byte_mode {}
 flags::bytes mode.
 
bool unicode_word {}
 \b \B \< \> use Unicode word-ness (text mode).
 
pattern_hints hints
 Search-acceleration hints.
 
std::int32_t codepoint_mark_ascii {-1}
 ASCII sub-class index of an emitted codepoint-class block (-1 = none).
 
std::int32_t codepoint_mark_offset {-1}
 Where that block starts (program offset); the whole-pattern hint requires offset 1.
 

Detailed Description

Owning, heap-allocated program: the storage backing real::regex.

Definition at line 367 of file program.hpp.

Member Function Documentation

◆ view()

constexpr program_view real::detail::dynamic_program::view ( ) const
inlineconstexpr

Returns a non-owning program_view over this program.

Definition at line 392 of file program.hpp.

Member Data Documentation

◆ byte_mode

bool real::detail::dynamic_program::byte_mode {}

flags::bytes mode.

Definition at line 380 of file program.hpp.

◆ classes

std::vector<char_class> real::detail::dynamic_program::classes

Interned character classes.

Definition at line 370 of file program.hpp.

◆ code

std::vector<instr> real::detail::dynamic_program::code

The instruction stream (main program + lookaround sub-program regions).

Definition at line 369 of file program.hpp.

◆ codepoint_mark_ascii

std::int32_t real::detail::dynamic_program::codepoint_mark_ascii {-1}

ASCII sub-class index of an emitted codepoint-class block (-1 = none).

Definition at line 386 of file program.hpp.

◆ codepoint_mark_offset

std::int32_t real::detail::dynamic_program::codepoint_mark_offset {-1}

Where that block starts (program offset); the whole-pattern hint requires offset 1.

Definition at line 387 of file program.hpp.

◆ cp_classes

std::vector<cp_class> real::detail::dynamic_program::cp_classes

Match-time code-point classes (for klass_cp).

Definition at line 373 of file program.hpp.

◆ cp_ranges

std::vector<code_range> real::detail::dynamic_program::cp_ranges

Flat range buffer the cp_class slices index into.

Definition at line 374 of file program.hpp.

◆ hints

pattern_hints real::detail::dynamic_program::hints

Search-acceleration hints.

Definition at line 382 of file program.hpp.

◆ lookarounds

std::vector<lookaround_sub> real::detail::dynamic_program::lookarounds

Bounded lookaround sub-programs (regions of code).

Definition at line 372 of file program.hpp.

◆ names

std::vector<named_group> real::detail::dynamic_program::names

Named capture groups.

Definition at line 371 of file program.hpp.

◆ prefix_classes

std::vector<char_class> real::detail::dynamic_program::prefix_classes

IL: classes for prefix_code.

Definition at line 376 of file program.hpp.

◆ prefix_code

std::vector<instr> real::detail::dynamic_program::prefix_code

IL: the inner-literal prefix sub-program (the part before the literal), for the reverse start-finder. Empty unless there is a required literal with a top-level prefix. Dynamic-only (not built during constant evaluation).

Definition at line 375 of file program.hpp.

◆ prefix_cp_classes

std::vector<cp_class> real::detail::dynamic_program::prefix_cp_classes

IL: code-point classes (klass_cp) for prefix_code.

Definition at line 377 of file program.hpp.

◆ prefix_cp_ranges

std::vector<code_range> real::detail::dynamic_program::prefix_cp_ranges

IL: flat range buffer for prefix_cp_classes.

Definition at line 378 of file program.hpp.

◆ slot_count

std::uint16_t real::detail::dynamic_program::slot_count {2}

2 * (capture groups + 1).

Definition at line 379 of file program.hpp.

◆ unicode_word

bool real::detail::dynamic_program::unicode_word {}

\b \B \< \> use Unicode word-ness (text mode).

Definition at line 381 of file program.hpp.


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