Public Member Functions | List of all members
operations_research::PropagationBaseObject Class Reference

The PropagationBaseObject is a subclass of BaseObject that is also friend to the Solver class. More...

#include <constraint_solver.h>

Inheritance diagram for operations_research::PropagationBaseObject:
Inheritance graph
[legend]
Collaboration diagram for operations_research::PropagationBaseObject:
Collaboration graph
[legend]

Public Member Functions

 PropagationBaseObject (Solver *const s)
 
 ~PropagationBaseObject () override
 
std::string DebugString () const override
 
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)
 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...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ PropagationBaseObject()

operations_research::PropagationBaseObject::PropagationBaseObject ( Solver *const  s)
inlineexplicit

Definition at line 3151 of file constraint_solver.h.

◆ ~PropagationBaseObject()

operations_research::PropagationBaseObject::~PropagationBaseObject ( )
inlineoverride

Definition at line 3152 of file constraint_solver.h.

Member Function Documentation

◆ BaseName()

virtual std::string operations_research::PropagationBaseObject::BaseName ( ) const
virtual

Returns a base name for automatic naming.

Reimplemented in operations_research::BooleanVar.

◆ DebugString()

std::string operations_research::PropagationBaseObject::DebugString ( ) const
inlineoverridevirtual

◆ EnqueueAll()

void operations_research::PropagationBaseObject::EnqueueAll ( const SimpleRevFIFO< Demon * > &  demons)

◆ EnqueueDelayedDemon()

void operations_research::PropagationBaseObject::EnqueueDelayedDemon ( Demon *const  d)
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.

◆ EnqueueVar()

void operations_research::PropagationBaseObject::EnqueueVar ( Demon *const  d)
inline

Definition at line 3174 of file constraint_solver.h.

◆ ExecuteAll()

void operations_research::PropagationBaseObject::ExecuteAll ( const SimpleRevFIFO< Demon * > &  demons)

◆ FreezeQueue()

void operations_research::PropagationBaseObject::FreezeQueue ( )
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.

◆ HasName()

bool operations_research::PropagationBaseObject::HasName ( ) const

Returns whether the object has been named or not.

◆ name()

virtual std::string operations_research::PropagationBaseObject::name ( ) const
virtual

Object naming.

◆ reset_action_on_fail()

void operations_research::PropagationBaseObject::reset_action_on_fail ( )
inline

This method clears the failure callback.

Definition at line 3187 of file constraint_solver.h.

◆ set_action_on_fail()

void operations_research::PropagationBaseObject::set_action_on_fail ( Solver::Action  a)
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.

◆ set_name()

void operations_research::PropagationBaseObject::set_name ( const std::string &  name)

◆ set_variable_to_clean_on_fail()

void operations_research::PropagationBaseObject::set_variable_to_clean_on_fail ( IntVar v)
inline

Shortcut for variable cleaner.

Definition at line 3190 of file constraint_solver.h.

◆ solver()

Solver* operations_research::PropagationBaseObject::solver ( ) const
inline

Definition at line 3161 of file constraint_solver.h.

◆ UnfreezeQueue()

void operations_research::PropagationBaseObject::UnfreezeQueue ( )
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.


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