The PropagationBaseObject is a subclass of BaseObject that is also friend to the Solver class. More...
#include <constraint_solver.h>


Public Member Functions | |
| PropagationBaseObject (Solver *const s) | |
| ~PropagationBaseObject () override | |
| std::string | DebugString () const override |
| Solver * | solver () 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) |
| This method sets a callback that will be called if a failure happens during the propagation of the queue. More... | |
| 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... | |
The PropagationBaseObject is a subclass of BaseObject that is also friend to the Solver class.
It allows accessing methods useful when writing new constraints or new expressions.
Definition at line 3149 of file constraint_solver.h.
|
inlineexplicit |
Definition at line 3151 of file constraint_solver.h.
|
inlineoverride |
Definition at line 3152 of file constraint_solver.h.
|
virtual |
Returns a base name for automatic naming.
Reimplemented in operations_research::BooleanVar.
|
inlineoverridevirtual |
Reimplemented from operations_research::BaseObject.
Reimplemented in operations_research::Pack, operations_research::Assignment, operations_research::SequenceVar, operations_research::Constraint, and operations_research::BooleanVar.
Definition at line 3154 of file constraint_solver.h.
| void operations_research::PropagationBaseObject::EnqueueAll | ( | const SimpleRevFIFO< Demon * > & | demons | ) |
|
inline |
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 3173 of file constraint_solver.h.
|
inline |
Definition at line 3174 of file constraint_solver.h.
| void operations_research::PropagationBaseObject::ExecuteAll | ( | const SimpleRevFIFO< Demon * > & | demons | ) |
|
inline |
This method freezes the propagation queue.
It is useful when you need to apply multiple modifications at once.
Definition at line 3164 of file constraint_solver.h.
| bool operations_research::PropagationBaseObject::HasName | ( | ) | const |
Returns whether the object has been named or not.
|
virtual |
Object naming.
|
inline |
This method clears the failure callback.
Definition at line 3187 of file constraint_solver.h.
|
inline |
This method sets a callback that will be called if a failure happens during the propagation of the queue.
Definition at line 3181 of file constraint_solver.h.
| void operations_research::PropagationBaseObject::set_name | ( | const std::string & | name | ) |
|
inline |
Shortcut for variable cleaner.
Definition at line 3190 of file constraint_solver.h.
|
inline |
Definition at line 3161 of file constraint_solver.h.
|
inline |
This method unfreezes the propagation queue.
All modifications that happened when the queue was frozen will be processed.
Definition at line 3168 of file constraint_solver.h.