OR-Tools  9.6
LightIntFunctionElementCt< F >

Detailed Description

template<typename F>
class operations_research::LightIntFunctionElementCt< F >

Definition at line 776 of file constraint_solveri.h.

Public Member Functions

 LightIntFunctionElementCt (Solver *const solver, IntVar *const var, IntVar *const index, F values, std::function< bool()> deep_serialize)
 
 ~LightIntFunctionElementCt () override
 
void Post () override
 This method is called when the constraint is processed by the solver. More...
 
void InitialPropagate () override
 This method performs the initial propagation of the constraint. More...
 
std::string DebugString () const override
 
void Accept (ModelVisitor *const visitor) const override
 Accepts the given visitor. More...
 
void PostAndPropagate ()
 Calls Post and then Propagate to initialize the constraints. More...
 
bool IsCastConstraint () const
 Is the constraint created by a cast from expression to integer variable? More...
 
virtual IntVarVar ()
 Creates a Boolean variable representing the status of the constraint (false = constraint is violated, true = constraint is satisfied). More...
 
Solversolver () const
 
void FreezeQueue ()
 This method freezes the propagation queue. More...
 
void UnfreezeQueue ()
 This method unfreezes the propagation queue. More...
 
void EnqueueDelayedDemon (Demon *const d)
 This method pushes the demon onto the propagation queue. More...
 
void EnqueueVar (Demon *const d)
 
void ExecuteAll (const SimpleRevFIFO< Demon * > &demons)
 
void EnqueueAll (const SimpleRevFIFO< Demon * > &demons)
 
void set_action_on_fail (Solver::Action a)
 
void reset_action_on_fail ()
 This method clears the failure callback. More...
 
void set_variable_to_clean_on_fail (IntVar *v)
 Shortcut for variable cleaner. More...
 
virtual std::string name () const
 Object naming. More...
 
void set_name (const std::string &name)
 
bool HasName () const
 Returns whether the object has been named or not. More...
 
virtual std::string BaseName () const
 Returns a base name for automatic naming. More...
 

Constructor & Destructor Documentation

◆ LightIntFunctionElementCt()

LightIntFunctionElementCt ( Solver *const  solver,
IntVar *const  var,
IntVar *const  index,
values,
std::function< bool()>  deep_serialize 
)
inline

Definition at line 778 of file constraint_solveri.h.

◆ ~LightIntFunctionElementCt()

~LightIntFunctionElementCt ( )
inlineoverride

Definition at line 786 of file constraint_solveri.h.

Member Function Documentation

◆ Accept()

void Accept ( ModelVisitor *const  visitor) const
inlineoverridevirtual

Accepts the given visitor.

Reimplemented from Constraint.

Definition at line 805 of file constraint_solveri.h.

◆ BaseName()

std::string BaseName ( ) const
virtualinherited

Returns a base name for automatic naming.

Reimplemented in BooleanVar.

Definition at line 2549 of file constraint_solver.cc.

◆ DebugString()

std::string DebugString ( ) const
inlineoverridevirtual

Reimplemented from Constraint.

Definition at line 800 of file constraint_solveri.h.

◆ EnqueueAll()

void EnqueueAll ( const SimpleRevFIFO< Demon * > &  demons)
inherited

Definition at line 2555 of file constraint_solver.cc.

◆ EnqueueDelayedDemon()

void EnqueueDelayedDemon ( Demon *const  d)
inlineinherited

This method pushes the demon onto the propagation queue.

It will be processed directly if the queue is empty. It will be enqueued according to its priority otherwise.

Definition at line 3287 of file constraint_solver.h.

◆ EnqueueVar()

void EnqueueVar ( Demon *const  d)
inlineinherited

Definition at line 3288 of file constraint_solver.h.

◆ ExecuteAll()

void ExecuteAll ( const SimpleRevFIFO< Demon * > &  demons)
inherited

Definition at line 2551 of file constraint_solver.cc.

◆ FreezeQueue()

void FreezeQueue ( )
inlineinherited

This method freezes the propagation queue.

It is useful when you need to apply multiple modifications at once.

Definition at line 3278 of file constraint_solver.h.

◆ HasName()

bool HasName ( ) const
inherited

Returns whether the object has been named or not.

Definition at line 2547 of file constraint_solver.cc.

◆ InitialPropagate()

void InitialPropagate ( )
inlineoverridevirtual

This method performs the initial propagation of the constraint.

It is called just after the post.

Implements Constraint.

Definition at line 794 of file constraint_solveri.h.

◆ IsCastConstraint()

bool IsCastConstraint ( ) const
inherited

Is the constraint created by a cast from expression to integer variable?

Definition at line 3339 of file constraint_solver.cc.

◆ name()

std::string name ( ) const
virtualinherited

Object naming.

Reimplemented in PiecewiseLinearExpr.

Definition at line 2539 of file constraint_solver.cc.

◆ Post()

void Post ( )
inlineoverridevirtual

This method is called when the constraint is processed by the solver.

Its main usage is to attach demons to variables.

Implements Constraint.

Definition at line 788 of file constraint_solveri.h.

◆ PostAndPropagate()

void PostAndPropagate ( )
inherited

Calls Post and then Propagate to initialize the constraints.

This is usually done in the root node.

Definition at line 3325 of file constraint_solver.cc.

◆ reset_action_on_fail()

void reset_action_on_fail ( )
inlineinherited

This method clears the failure callback.

Definition at line 3301 of file constraint_solver.h.

◆ set_action_on_fail()

void set_action_on_fail ( Solver::Action  a)
inlineinherited

Definition at line 3295 of file constraint_solver.h.

◆ set_name()

void set_name ( const std::string &  name)
inherited

Definition at line 2543 of file constraint_solver.cc.

◆ set_variable_to_clean_on_fail()

void set_variable_to_clean_on_fail ( IntVar v)
inlineinherited

Shortcut for variable cleaner.

Definition at line 3304 of file constraint_solver.h.

◆ solver()

Solver* solver ( ) const
inlineinherited

Definition at line 3274 of file constraint_solver.h.

◆ UnfreezeQueue()

void UnfreezeQueue ( )
inlineinherited

This method unfreezes the propagation queue.

All modifications that happened when the queue was frozen will be processed.

Definition at line 3282 of file constraint_solver.h.

◆ Var()

IntVar * Var ( )
virtualinherited

Creates a Boolean variable representing the status of the constraint (false = constraint is violated, true = constraint is satisfied).

It returns nullptr if the constraint does not support this API.

Definition at line 3343 of file constraint_solver.cc.


The documentation for this class was generated from the following files: