FRAMES NO FRAMES

Class IlcDemonI

Definition file: ilsolver/basic.h
Include file: <ilsolver/ilosolver.h>

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

For more information, see the concepts Propagation and Propagation Events.

See Also:

Constructor and Destructor Summary
public IlcDemonI(IloSolver solver, IlcConstraintI * ct=0)
Method Summary
public IlcConstraintI *getConstraintI() const
public IloSolvergetSolver() const
public IloSolverI *getSolverI() const
public virtual IlcBoolisAConstraint() const
public virtual voidpropagate()
Constructor and Destructor Detail

IlcDemonI

public IlcDemonI(IloSolver solver, IlcConstraintI * ct=0)

This constructor creates a demon implementation. This constructor should not be called directly because this is an abstract class. This constructor is called automatically in the constructors of its subclasses. The constraint passed as a parameter is the constraint constraint associated with this demon.


Method Detail

getConstraintI

public IlcConstraintI * getConstraintI() const

This member function returns a pointer to the implementation of the constraint associated with the invoking demon. The demon is known as the parent of the constraint.


getSolver

public IloSolver getSolver() const

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


getSolverI

public IloSolverI * getSolverI() const

This member function returns a pointer to the implementation object of the solver where the invoking demon was extracted.


isAConstraint

public virtual IlcBool isAConstraint() const

This member function returns IlcTrue if the invoking demon is an instance of IlcConstraintI; it returns IlcFalse otherwise. In other words, it lets you know whether the invoking demon is a constraint or a demon.


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.