|
REAL
Regular Expression Algorithmic Library — constexpr C++20 regex
|
One outgoing edge of a one-pass node, for a byte-class: the next node and the capture slots that take the current position as the byte is consumed. Two epsilon paths reaching the same class with a different edge is the one-pass conflict — the pattern is then rejected. More...
#include <onepass.hpp>
Public Attributes | |
| std::uint32_t | next {0} |
| Next node id (valid only when assigned). | |
| std::uint64_t | cap_mask {0} |
| Bit i set => write the current position into slot i on this edge. | |
| std::uint32_t | assert_mask {0} |
| Bit k (an assert_kind) set => that assertion must hold at the position to take this edge (Tier-B). | |
| bool | assigned {false} |
| Whether this byte-class has an edge from this node. | |
One outgoing edge of a one-pass node, for a byte-class: the next node and the capture slots that take the current position as the byte is consumed. Two epsilon paths reaching the same class with a different edge is the one-pass conflict — the pattern is then rejected.
Definition at line 46 of file onepass.hpp.
| std::uint32_t real::detail::onepass_edge::assert_mask {0} |
Bit k (an assert_kind) set => that assertion must hold at the position to take this edge (Tier-B).
Definition at line 50 of file onepass.hpp.
| bool real::detail::onepass_edge::assigned {false} |
Whether this byte-class has an edge from this node.
Definition at line 51 of file onepass.hpp.
| std::uint64_t real::detail::onepass_edge::cap_mask {0} |
Bit i set => write the current position into slot i on this edge.
Definition at line 49 of file onepass.hpp.
| std::uint32_t real::detail::onepass_edge::next {0} |
Next node id (valid only when assigned).
Definition at line 48 of file onepass.hpp.