Stay organized with collections
Save and categorize content based on your preferences.
C++ Reference: class Demon
Note: This documentation is automatically generated.
A Demon is the base element of a propagation queue. It is the main
object responsible for implementing the actual propagation
of the constraint and pruning the inconsistent values in the domains
of the variables. The main concept is that demons are listeners that are
attached to the variables and listen to their modifications.
There are two methods:
- Run() is the actual method called when the demon is processed.
- priority() returns its priority. Standard priorities are slow, normal
or fast. "immediate" is reserved for variables and is treated separately.
This method returns the priority of the demon. Usually a demon is
fast, slow or normal. Immediate demons are reserved for internal
use to maintain variables.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-08-06 UTC."],[[["A Demon is the core element of a propagation queue, driving constraint propagation and pruning inconsistent values within variable domains."],["Demons act as listeners attached to variables, reacting to modifications and triggering actions."],["The `Run()` method is the primary function, executing the demon's logic for propagation and pruning."],["Demons have priorities (slow, normal, fast, immediate) that dictate their execution order, with immediate reserved for variables."]]],["Demons are base elements of a propagation queue, acting as listeners attached to variables. They manage constraint propagation and inconsistent value pruning. Key actions include: `Run()`, the primary processing method; and `priority()`, which determines execution order (slow, normal, fast). `inhibit()` pauses a demon, while `desinhibit()` reactivates it. `DebugString` is also a method to get a string of the demon. Immediate priority is exclusively for variables.\n"]]