/// <summary> /// Get all value sets for the variable. /// </summary> /// <param name="variable">Variable</param> /// <param name="assignment">All value assignments.</param> /// <param name="constraintNetwork">Constraint network.</param> /// <returns>All value sets for the variable.</returns> private IEnumerable <ValueSet> OrderDomainValues(VariableBase variable, SnapshotLabelAssignment assignment, ConstraintNetwork constraintNetwork) { switch (variable) { case SolverVariable solverVariable: return(solverVariable.GetCandidates()); case EncapsulatedVariable encapsulatedVariable: return(encapsulatedVariable.GetCandidates()); default: throw new NotImplementedException(); } }
internal Value(VariableBase variable, int value) { Variable = variable; Content = value; }
internal bool IsAssigned(VariableBase variable) { return(_assignments.Any(valueSet => valueSet.IsAssigned(variable.Name))); }