Skip to main content
FRAMES NO FRAMES

Class IlcDemonI

Definition file: ilcp/cpext.h
Include file: <ilcp/cpext.h>
Map of IlcDemonIIlcDemonIIlcConstraintIIlcDemonI
An implementation class used for propagating constraints.

Instances of IlcDemonI are called demons. Demons differ from goals in these ways:

For more information, see the concepts Propagation in CP Optimizer and Propagation events in CP Optimizer.

See Also:

Method Summary
public IlcConstraintI *getConstraintI() const
public IlcCPEnginegetCPEngine() const
public IlcDemonI(IlcCPEngine solver, IlcConstraintI * owner=0)
public virtual IlcBoolisAConstraint() const
public virtual voidpropagate()
Method Detail

IlcDemonI

public IlcDemonI(IlcCPEngine solver, IlcConstraintI * owner=0)

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.


getConstraintI

public IlcConstraintI * getConstraintI() const

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.


getCPEngine

public IlcCPEngine getCPEngine() const

This member function returns the solver (a handle) of the invoking demon implementation.


isAConstraint

public virtual IlcBool isAConstraint() const

This virtual member function is overloaded in IlcConstraintI to return IloTrue, but otherwise it returns IloFalse.


propagate

public virtual void propagate()

This member function propagates the invoking demon. Normally, an implementation of this virtual member function will call a member function of the associated constraint.