[ library(gfd) | Reference Manual | Alphabetic Index ]
# ?Vars :: ++Domain

Constrain Vars to have the domain Domain.
*Vars*
- Variable (array notation accepted) or collection (a la collection_to_list/2) of variables
*Domain*
- Domain specification

## Description

Constrains Vars to take only values from the domain specified by Domain.
Vars may be a variable or a collection of variables (as accepted by
collection_to_list/2). Domain can be specified as a simple range Lo .. Hi,
or as a list of sub-ranges and/or individual elements. Each element
of the specification is an integer, or is a ground expression that evaluates
to an integer. All domain elements must be integers within the range allowed
by gecode.

### Modules

This predicate is sensitive to its module context (tool predicate, see @/2).
## Examples

[eclipse 2]: X :: 0..1.
X = X{[0, 1]}
[eclipse 2]: X :: -1..5.
X = X{[-1 .. 5]}
[eclipse 2]: X :: 0.0..1.0.
type error in X :: 0.0 .. 1.0
Abort
[eclipse 2]: [X,Y] :: [1..10, -1, 0, 7, 21].
X = X{[-1 .. 10, 21]}
Y = Y{[-1 .. 10, 21]}

## See Also

integers / 1, fd_sets : :: / 2, suspend : :: / 2, ic_sets : :: / 2, ic : :: / 2, ic_hybrid_sets : :: / 2, fd : :: / 2, :: / 3, #:: / 2