C++ Reference: class PropagationBaseObject

Note: This documentation is automatically generated.

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.
Method
BaseName

Return type: virtual std::string

Returns a base name for automatic naming.

DebugString

Return type: std::string

EnqueueAll

Return type: void

Arguments: const SimpleRevFIFO<Demon*>& demons

EnqueueDelayedDemon

Return type: void

Arguments: Demon* const d

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.

EnqueueVar

Return type: void

Arguments: Demon* const d

ExecuteAll

Return type: void

Arguments: const SimpleRevFIFO<Demon*>& demons

FreezeQueue

Return type: void

This method freezes the propagation queue. It is useful when you need to apply multiple modifications at once.

HasName

Return type: bool

Returns whether the object has been named or not.

name

Return type: virtual std::string

Object naming.

PropagationBaseObject

Return type: explicit

Arguments: Solver* const s

~PropagationBaseObject

reset_action_on_fail

Return type: void

This method clears the failure callback.

set_action_on_fail

Return type: void

Arguments: Solver::Action a

This method sets a callback that will be called if a failure happens during the propagation of the queue.

set_name

Return type: void

Arguments: const std::string& name

set_variable_to_clean_on_fail

Return type: void

Arguments: IntVar* v

Shortcut for variable cleaner.

solver

Return type: Solver*

UnfreezeQueue

Return type: void

This method unfreezes the propagation queue. All modifications that happened when the queue was frozen will be processed.