Table of Contents

Class StateUnion

Namespace
RandomizerCore.Logic.StateLogic
Assembly
RandomizerCore.dll

A collection of mutually incomparable states, representing a disjunction of possible states.

public class StateUnion : IReadOnlyList<State>, IReadOnlyCollection<State>, IEnumerable<State>, IEnumerable
Inheritance
StateUnion
Implements
Inherited Members
Extension Methods

Constructors

StateUnion()

public StateUnion()

StateUnion(State)

public StateUnion(State state)

Parameters

state State

StateUnion(List<State>)

public StateUnion(List<State> states)

Parameters

states List<State>

Properties

Count

public int Count { get; }

Property Value

int

Empty

public static StateUnion Empty { get; }

Property Value

StateUnion

this[int]

public State this[int index] { get; }

Parameters

index int

Property Value

State

Methods

IsProgressivelyEqual(StateUnion?, StateUnion?)

Returns true if the two state unions are equivalent under the partial order of IsProgressivelyLE(StateUnion?, StateUnion?).

public static bool IsProgressivelyEqual(StateUnion? left, StateUnion? right)

Parameters

left StateUnion
right StateUnion

Returns

bool

IsProgressivelyLE(StateUnion?, StateUnion?)

A partial ordering which holds if the right union represents equal or better progression than the left union. Returns true if left is null, or else both are not null and there is a map from left to right which takes each state in left to a IsComparablyLE(State, State) state in right. Note: this ordering is reversed from the natural ordering induced by the ordering on State.

public static bool IsProgressivelyLE(StateUnion? left, StateUnion? right)

Parameters

left StateUnion
right StateUnion

Returns

bool

Reduce(List<State>)

public static void Reduce(List<State> states)

Parameters

states List<State>

TryUnion(StateUnion, StateUnion, out StateUnion)

Returns true and outputs a result if the union operation would not result in the left argument.

public static bool TryUnion(StateUnion left, StateUnion right, out StateUnion result)

Parameters

left StateUnion
right StateUnion
result StateUnion

Returns

bool

TryUnion(StateUnion, List<State>, out StateUnion)

public static bool TryUnion(StateUnion left, List<State> states, out StateUnion result)

Parameters

left StateUnion
states List<State>
result StateUnion

Returns

bool

Union(StateUnion, StateUnion)

public static StateUnion Union(StateUnion left, StateUnion right)

Parameters

left StateUnion
right StateUnion

Returns

StateUnion

Union(StateUnion, IEnumerable<State>)

public static StateUnion Union(StateUnion left, IEnumerable<State> lazyRight)

Parameters

left StateUnion
lazyRight IEnumerable<State>

Returns

StateUnion