Statifier.Configuration (statifier v1.9.0)
View SourceRepresents the current active states in an SCXML state chart.
Only stores leaf (atomic) states - parent states are considered active when any of their children are active. Use all_active_states/2 to compute the full set of active states including ancestors.
Summary
Functions
Check if a specific leaf state is active.
Get the set of active leaf states.
Add a leaf state to the active configuration.
Compute all active states including ancestors for the given document.
Create a new configuration with the given active states.
Remove a leaf state from the active configuration.
Types
Functions
Check if a specific leaf state is active.
Get the set of active leaf states.
Add a leaf state to the active configuration.
@spec all_active_states(t(), Statifier.Document.t()) :: MapSet.t(String.t())
Compute all active states including ancestors for the given document.
Uses parent pointers for O(d) performance per state instead of O(n×d) tree traversal, where d is the maximum depth and n is the number of states. This optimization is critical since active configuration is computed frequently during interpretation.
Create a new configuration with the given active states.
Remove a leaf state from the active configuration.