Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::category::detail_automaton::MatchStep< Sigma, Q, V > Struct Template Reference

One position of the run: the state after its letter, and the position itself where that state accepts. O(1) state, the text read where it is. More...

Collaboration diagram for dedekind::category::detail_automaton::MatchStep< Sigma, Q, V >:

Public Types

using Yield = std::optional<std::pair<Maybe<std::size_t>, Cursor>>

Public Member Functions

constexpr Yield hole (const Cursor &c) const
 A hole at c: no match ends here; the run restarts, or goes on as it was.
template<IsCountWord N>
constexpr Yield letter (const Cursor &c, N rank) const
 A letter at c: the transition, where the letter is one of the plan's Sigma; a rank past them (an alphabet wider than the plan's) is a hole, never a row past the table.
constexpr Yield operator() (const Cursor &c) const
constexpr std::pair< Maybe< std::size_t >, Cursor > hit (std::uint16_t to, std::size_t p) const

Public Attributes

Automaton< Sigma, Q > plan
Holes holes
V letters

Detailed Description

template<std::size_t Sigma, std::size_t Q, std::ranges::view V>
struct dedekind::category::detail_automaton::MatchStep< Sigma, Q, V >

One position of the run: the state after its letter, and the position itself where that state accepts. O(1) state, the text read where it is.


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