this is a very experimental feature, so use it at you own risk if a variable is created with this trait, it will automatically perform propagation under if the model is not closed yet, and if no invariant is dynamically listening to this variable.
This is the node that is put in the propagation graph used by BulkLoad only
Invariants over arrays can implement this trait to make it possible to bulk load their dependencies
Use the apply method in the companion object for building this
An IntConst is an IntVar that has a constant value.
An IntSetConst is an IntSetVar that has a constant value, defined by a set of integer.
An IntSetVar is a variable managed by the Model whose type is set of integer.
an intvar is a variable managed by the Model whose type is integer.
This is be base class for all invariants.
This class contains the model, namely, the invariants and variables They are all modeled as propagation Elements, which are handled by the inherited propagationstructure class.
This class contains a solution.
This is the base class for variable.
A bulk load is to use when there are a set of invariants that all listen statically to the same array of variables but whose dynamic dependencies are really sparse in case such dependencies are bulk loaded, we create an instance of Bulk between the variables and invariants such that the bulk statically listens to all variables and the invariants statically listen to the bulk.
This package includes all the class that make it possible to define variables and invariants.