public abstract class AbstractVariable<T extends AbstractVariable<T>> extends NodeWithNumber implements IVariable<T>
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractVariable() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
int |
getOrderNumber()
Variables must allow the solver implementation to get/set an order number, which the solver
uses to control evaluation order.
|
int |
hashCode() |
static int |
nextHash()
I know this is theoretically bad.
|
void |
setOrderNumber(int orderNumber)
Variables must allow the solver implementation to get/set an order number, which the solver
uses to control evaluation order.
|
getGraphNodeId, setGraphNodeIdclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitgetGraphNodeId, setGraphNodeIdpublic static int nextHash()
AbstractVariables, in
which case incrementing hash codes is OK.
public int getOrderNumber()
IVariableIt might be cleaner to hold this on the side, but we cannot tolerate any extra space. TODO: consider moving this functionality to a subinterface?
getOrderNumber in interface IVariable<T extends AbstractVariable<T>>public void setOrderNumber(int orderNumber)
IVariableIt might be cleaner to hold this on the side, but we cannot tolerate any extra space. TODO: consider moving this functionality to a subinterface?
setOrderNumber in interface IVariable<T extends AbstractVariable<T>>