|
REAL
Regular Expression Algorithmic Library — constexpr C++20 regex
|
Opt-in route/work counters, compiled out unless the profiling build flag is set. More...
Enumerations | |
| enum class | route : std::uint8_t { class_loop = 0 , cp_class_loop , exact_literal , inner_literal , fixed_shape , fixed_shape_pair , codepoint_class , alternation , aho_corasick , onepass_full , onepass_window , run_shape_window , lazy_dfa_anchored , lazy_dfa_fwd_rev , general_full , general_window , trailing_la , possessive_byte_loop , possessive_class_loop , possessive_cp_class_loop , possessive_delimited , count_ } |
| Named once-per-dispatch routes. Always visible so tick call sites compile OFF. More... | |
| enum class | event : std::uint8_t { first_byte_skip = 0 , cascade , rare_byte , memmem , wb_b1_drop , wb_b2_wrap , il_abandoned , pool_incref , pool_decref , pool_cow_write , bounded_backtrack , count_ } |
| Secondary events: prefilter work, word-boundary handling, abandons, capture-pool traffic. More... | |
Functions | |
| constexpr void | tick_route (route r) noexcept |
Bill one dispatch to route r. Erased entirely unless REAL_PROFILE is defined. | |
| constexpr void | tick_event (event e) noexcept |
Bill one occurrence of e. Erased entirely unless REAL_PROFILE is defined. | |
| constexpr void | tick_thread_count (std::size_t n) noexcept |
Bill one step() carrying n live threads. Erased entirely unless REAL_PROFILE is defined. | |
| constexpr void | tick_prefilter_candidate () noexcept |
Bill one candidate a prefilter produced. Erased entirely unless REAL_PROFILE is defined. | |
| constexpr void | tick_prefilter_rejected () noexcept |
| Bill one prefilter candidate REJECTED by confirmation. See tick_prefilter_candidate for the scope these two share. | |
Opt-in route/work counters, compiled out unless the profiling build flag is set.
|
strong |
Secondary events: prefilter work, word-boundary handling, abandons, capture-pool traffic.
|
strong |
Named once-per-dispatch routes. Always visible so tick call sites compile OFF.
| Enumerator | |
|---|---|
| fixed_shape_pair | heterogeneous fixed shape, two-position vector prefilter. |
| aho_corasick | multi-literal automaton, past the branch-count threshold. |
| run_shape_window | Groups read by one greedy walk over the DFAs' window ( |
| lazy_dfa_anchored | first-byte candidate + anchored_end |
| lazy_dfa_fwd_rev | unanchored forward + reverse |
| possessive_byte_loop | bare/suffixed possessive literal-byte +/++ (byte_loop_possessive). |
| possessive_class_loop | bare/suffixed possessive class+/++ (klass_loop_possessive). |
| possessive_cp_class_loop | bare/suffixed possessive cp-class +/++ (klass_cp_loop_possessive). |
| possessive_delimited | literal-prefix + possessive loop + literal-suffix ("quoted"). |
|
constexprnoexcept |
Bill one occurrence of e. Erased entirely unless REAL_PROFILE is defined.
| [in] | e | The event to count. |
|
constexprnoexcept |
Bill one candidate a prefilter produced. Erased entirely unless REAL_PROFILE is defined.
counters::prefilter_candidates / counters::prefilter_rejected cover the inner-literal route's literal scan only: a candidate is one find_literal hit, a rejection one whose reverse walk reached no match start. Other routes are not folded in, so a zero says nothing about them.
|
constexprnoexcept |
Bill one dispatch to route r. Erased entirely unless REAL_PROFILE is defined.
| [in] | r | The route that handled the search. |
|
constexprnoexcept |
Bill one step() carrying n live threads. Erased entirely unless REAL_PROFILE is defined.
| [in] | n | Threads in the current list as the step begins. |