public CSP copyDomains() { CSP result = new CSP(); result.variables = variables; result.domains = new List<Domain>(domains.Count); result.domains.AddRange(domains); result.constraints = constraints; result.varIndexHash = varIndexHash; result.cnet = cnet; return result; } }
protected void fireStateChanged(Assignment assignment, CSP csp) { foreach (CSPStateListener listener in listeners) { listener.stateChanged(assignment.copy(), csp.copyDomains()); } }