| Overview | Group | Tree | Graph | Deprecated | Index | Concepts |

Instances of IlcDemonI are called demons. Demons
differ from goals in these ways:
IlcDemonI::getConstraintI returns the constraint
associated with a demon.For more information, see the concepts Propagation in CP Optimizer and Propagation events in CP Optimizer.
See Also:
IlcConstraintI, IlcGoalI, ILCCTDEMON0
| Method Summary | |
|---|---|
public IlcConstraintI * | getConstraintI() const |
public IlcCPEngine | getCPEngine() const |
public | IlcDemonI(IlcCPEngine solver, IlcConstraintI * owner=0) |
public virtual IlcBool | isAConstraint() const |
public virtual void | propagate() |
| Method Detail |
|---|
This constructor creates a demon implementation. This constructor should not be called directly because this is an abstract class. This constructor is called in the constructors of its subclasses. The constraint passed as a parameter is the constraint associated with this demon.
This member function returns a pointer to the implementation of the constraint associated with the invoking demon which was passed to the constructor of the demon.
This member function returns the solver (a handle) of the invoking demon implementation.
This virtual member function is overloaded in IlcConstraintI
to return IloTrue, but otherwise it returns
IloFalse.
This member function propagates the invoking demon. Normally, an implementation of this virtual member function will call a member function of the associated constraint.