choco.bool
Class AbstractLargeBoolConstraintWithCounterOpposite
java.lang.Object
choco.AbstractEntity
choco.AbstractConstraint
choco.bool.AbstractCompositeConstraint
choco.bool.AbstractLargeCompositeConstraint
choco.bool.AbstractLargeBoolConstraint
choco.bool.AbstractLargeBoolConstraintWithCounterOpposite
- All Implemented Interfaces:
- BoolConstraint, CompositeConstraint, Constraint, Entity, IntConstraint, IntVarEventListener, VarEventListener, Propagator, java.lang.Cloneable, java.util.EventListener
- Direct Known Subclasses:
- Cardinality, LargeDisjunction
public abstract class AbstractLargeBoolConstraintWithCounterOpposite
- extends AbstractLargeBoolConstraint
An abstract class storing the counterpart of each subconstraint + an index correspondence for variables
(between subconstraints and opposite subconstraints)
Methods inherited from class choco.bool.AbstractLargeCompositeConstraint |
getConstraintIdx, getIntVar, getLocalVarIndex, getNbSubConstraints, getNbVars, getNbVarsFromSubConst, getSubConstraint, getSubConstraintIdx, getVar, getVarIdxInOpposite, isCompletelyInstantiated, setConstraintIndex, setVar |
Methods inherited from class choco.AbstractConstraint |
awake, awakeOnVar, connectVar, constAwake, delete, fail, getEvent, getPlugIn, getPriority, getProblem, isActive, isEntailed, isEquivalentTo, opposite, setActive, setEntailed, setPassive, setPlugIn, substituteVar |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface choco.Propagator |
awake, awakeOnVar, constAwake, delete, getEvent, getPlugIn, getPriority, isCompletelyInstantiated, isConsistent, isEntailed, propagate |
AbstractLargeBoolConstraintWithCounterOpposite
public AbstractLargeBoolConstraintWithCounterOpposite(Constraint[] subConstraints)
AbstractLargeBoolConstraintWithCounterOpposite
public AbstractLargeBoolConstraintWithCounterOpposite(Constraint[] subConstraints,
IntDomainVar[] moreVars)
clone
public java.lang.Object clone()
throws java.lang.CloneNotSupportedException
- Description copied from interface:
Constraint
- returns a copy of the constraint. This copy is a new object, may be a recursive copy in case
of composite constraints. The original and the copy share the same variables & plugins
- Specified by:
clone
in interface Constraint
- Overrides:
clone
in class AbstractLargeBoolConstraint
- Returns:
-
- Throws:
java.lang.CloneNotSupportedException
initAbstractLargeBoolConstraintWithCounterOpposite
protected void initAbstractLargeBoolConstraintWithCounterOpposite()
assignIndices
public int assignIndices(AbstractCompositeConstraint root,
int i,
boolean dynamicAddition)
- Description copied from interface:
Propagator
- performs the global numbering (wrt root) of the variables contained in the subtree this, starting from i
- Specified by:
assignIndices
in interface Propagator
- Overrides:
assignIndices
in class AbstractLargeBoolConstraint
- Parameters:
root
- the overall root constraint, for which the variables are numberedi
- the index that will assigned to the first variable in the subtree this (originally 0)dynamicAddition
- whether the addition is undone automatically on backtracking
- Returns:
- the index of the last variable in the subtree
getOppositeSubConstraint
public Constraint getOppositeSubConstraint(int subConstIdx)
setSubConstraintStatus
public void setSubConstraintStatus(Constraint subConstraint,
boolean status,
int varOffset)
- Description copied from interface:
BoolConstraint
- records that the status of a subConstraint is now true
- Specified by:
setSubConstraintStatus
in interface BoolConstraint
- Overrides:
setSubConstraintStatus
in class AbstractLargeBoolConstraint
- Parameters:
subConstraint
- the subconstraintstatus
- the new value of the status to be recordedvarOffset
- the offset for the local variable indexing in the subConstraint wrt the global numbering in this