.
Integer variable implementation.
|
Value access |
| int | min (void) const |
| | Return minimum of domain.
|
| int | max (void) const |
| | Return maximum of domain.
|
| int | val (void) const |
| | Return assigned value (only if assigned).
|
| int | med (void) const |
| | Return median of domain.
|
| unsigned int | size (void) const |
| | Return size (cardinality) of domain.
|
| unsigned int | width (void) const |
| | Return width of domain (distance between maximum and minimum).
|
| unsigned int | regret_min (void) const |
| | Return regret of domain minimum (distance to next larger value).
|
| unsigned int | regret_max (void) const |
| | Return regret of domain maximum (distance to next smaller value).
|
Domain tests |
| bool | range (void) const |
| | Test whether domain is a range.
|
| bool | assigned (void) const |
| | Test whether variable is assigned.
|
| bool | in (int n) const |
| | Test whether n is contained in domain.
|
| bool | in (double n) const |
| | Test whether n is contained in domain.
|
Domain update by value |
| ModEvent | lq (Space *home, int n) |
| | Restrict domain values to be less or equal than n.
|
| ModEvent | lq (Space *home, double n) |
| | Restrict domain values to be less or equal than n.
|
| ModEvent | gq (Space *home, int n) |
| | Restrict domain values to be greater or equal than n.
|
| ModEvent | gq (Space *home, double n) |
| | Restrict domain values to be greater or equal than n.
|
| ModEvent | nq (Space *home, int n) |
| | Restrict domain values to be different from n.
|
| ModEvent | nq (Space *home, double n) |
| | Restrict domain values to be different from n.
|
| ModEvent | eq (Space *home, int n) |
| | Restrict domain values to be equal to n.
|
| ModEvent | eq (Space *home, double n) |
| | Restrict domain values to be equal to n.
|
Domain update by range iterator |
| template<class I> |
| ModEvent | narrow (Space *home, I &i) |
| | Replace domain by range sequence described by i.
|
| template<class I> |
| ModEvent | inter (Space *home, I &i) |
| | Intersect domain with range sequence described by i.
|
| template<class I> |
| ModEvent | minus (Space *home, I &i) |
| | Remove from domain the range sequence described by i.
|
Boolean update operations |
| void | t_zero_none (Space *home) |
| | Assign unassigned variable to zero.
|
| void | t_one_none (Space *home) |
| | Assign unassigned variable to one.
|
Dependencies |
| void | subscribe (Space *home, Propagator *p, PropCond pc, bool process=true) |
| | Subscribe propagator p with propagation condition pc to variable.
|
Cloning |
| IntVarImp * | copy (Space *home, bool share) |
| | Return copy of this variable.
|
| IntVarImp * | copy_bool (Space *home, bool share) |
| | Return copy of this variable (Boolean).
|
Range list access for iteration |
| const RangeList * | ranges_fwd (void) const |
| | Return range list for forward iteration.
|
| const RangeList * | ranges_bwd (void) const |
| | Return range list for backward iteration.
|
Public Member Functions |
| | IntVarImp (Space *home, int min, int max) |
| | Initialize with range domain.
|
| | IntVarImp (Space *home, const IntSet &d) |
| | Initialize with domain specified by d.
|
Protected Member Functions |
| RangeList * | fst (void) const |
| | Return first element of rangelist.
|
| void | fst (RangeList *f) |
| | Set first element of rangelist.
|
| RangeList * | lst (void) const |
| | Return last element of rangelist.
|
| void | lst (RangeList *l) |
| | Set last element of rangelist.
|
| | IntVarImp (Space *home, bool share, IntVarImp &x, bool is_bool) |
| | Constructor for cloning x (is_bool whether this is a Boolean variable).
|
Protected Attributes |
| RangeList | dom |
| | Domain information.
|
| RangeList * | _lst |
| | Link the last element.
|
| unsigned int | holes |
| | Size of holes in the domain.
|
Classes |
| class | RangeList |
| | Lists of ranges (intervals). More...
|