Table of Contents

Struct StateMachineOptimizationParams<TState>

Namespace
LfrlAnvil.Computable.Automata
Assembly
LfrlAnvil.Computable.Automata.dll

Represents parameters of state machine optimization.

public readonly struct StateMachineOptimizationParams<TState>

Type Parameters

TState

State type.

Inherited Members

Properties

Level

public StateMachineOptimization Level { get; }

Property Value

StateMachineOptimization

StateMerger

Optional state merger used in Minimize level that creates a single state out of two merged states.

public Func<TState, TState, TState>? StateMerger { get; }

Property Value

Func<TState, TState, TState>

Methods

Minimize(Func<TState, TState, TState>)

Creates a new StateMachineOptimizationParams<TState> instance with Minimize level.

[Pure]
public static StateMachineOptimizationParams<TState> Minimize(Func<TState, TState, TState> stateMerger)

Parameters

stateMerger Func<TState, TState, TState>

State merger that creates a single state out of two merged states.

Returns

StateMachineOptimizationParams<TState>

New StateMachineOptimizationParams<TState> instance.

None()

Creates a new StateMachineOptimizationParams<TState> instance with None level.

[Pure]
public static StateMachineOptimizationParams<TState> None()

Returns

StateMachineOptimizationParams<TState>

New StateMachineOptimizationParams<TState> instance.

RemoveUnreachableStates()

[Pure]
public static StateMachineOptimizationParams<TState> RemoveUnreachableStates()

Returns

StateMachineOptimizationParams<TState>

New StateMachineOptimizationParams<TState> instance.

ToString()

Returns a string representation of this StateMachineOptimizationParams<TState> instance.

[Pure]
public override string ToString()

Returns

string

String representation.