|
REAL
Regular Expression Algorithmic Library — constexpr C++20 regex
|
Optional route-attribution counters — the profiling substrate. More...
Namespaces | |
| namespace | real |
| REAL's public API: real::regex, real::static_regex, real::flags and the match/iterator types built on them. | |
| namespace | real::detail |
| DFA construction internals: subset construction over a flattened NFA. Not a stable API. | |
| namespace | real::detail::prof |
| Opt-in route/work counters, compiled out unless the profiling build flag is set. | |
Functions | |
| constexpr void | real::detail::prof::tick_route (route r) noexcept |
Bill one dispatch to route r. Erased entirely unless REAL_PROFILE is defined. | |
| constexpr void | real::detail::prof::tick_event (event e) noexcept |
Bill one occurrence of e. Erased entirely unless REAL_PROFILE is defined. | |
| constexpr void | real::detail::prof::tick_thread_count (std::size_t n) noexcept |
Bill one step() carrying n live threads. Erased entirely unless REAL_PROFILE is defined. | |
| constexpr void | real::detail::prof::tick_prefilter_candidate () noexcept |
Bill one candidate a prefilter produced. Erased entirely unless REAL_PROFILE is defined. | |
| constexpr void | real::detail::prof::tick_prefilter_rejected () noexcept |
| Bill one prefilter candidate REJECTED by confirmation. See tick_prefilter_candidate for the scope these two share. | |
Optional route-attribution counters — the profiling substrate.
Codegen-invisible when OFF (default): tick helpers are empty always_inline functions — no branch, no thread_local touch, no layout change. Counters and harness helpers exist only under -DREAL_PROFILE, so coverage builds never see dead instrumented paths. When ON, increments skip constant evaluation.
Measure ns/B on a profile-OFF build and route counters on a profile-ON build of the same (pattern, corpus, surface). Never mix.