|
REAL
Regular Expression Algorithmic Library — constexpr C++20 regex
|
One priority-ordered list of NFA threads (leftmost-greedy semantics). More...
#include <pike.hpp>
Public Member Functions | |
| constexpr void | reset (std::size_t code_size) |
| Clears the list in O(1) by bumping the generation. | |
| constexpr bool | seen (std::int32_t pc) const |
Returns true if pc is already in this generation. | |
| constexpr void | mark_seen (std::int32_t pc) |
Marks pc as present in the current generation. | |
Public Attributes | |
| PcVec | pcs |
| Live program counters, in priority order. | |
| SlotVec | slots |
| Flattened capture slots, parallel to pcs. | |
| MarkVec | mark |
| Per-pc generation stamp (see seen). | |
| std::uint64_t | generation {} |
| Current generation; bumped by reset. | |
One priority-ordered list of NFA threads (leftmost-greedy semantics).
mark is generation-stamped so clearing the list between positions is O(1).
| PcVec | Container of program counters. |
| SlotVec | Flattened capture slots (pcs.size() * slot_count). |
| MarkVec | Per-pc generation marks for O(1) dedup. |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
| std::uint64_t real::detail::basic_thread_list< PcVec, SlotVec, MarkVec >::generation {} |
| MarkVec real::detail::basic_thread_list< PcVec, SlotVec, MarkVec >::mark |
| PcVec real::detail::basic_thread_list< PcVec, SlotVec, MarkVec >::pcs |
| SlotVec real::detail::basic_thread_list< PcVec, SlotVec, MarkVec >::slots |