Related Functions 
(Note that these are not member functions.)

template<class Char , class Traits > 
std::basic_ostream< Char,
Traits > &  operator<< (std::basic_ostream< Char, Traits > &os, const IntView &x) 
 Print integer variable view.

Constructors and initialization 

 IntView (void) 
 Default constructor.

 IntView (const IntVar &y) 
 Initialize from integer variable y.

 IntView (IntVarImp *y) 
 Initialize from integer variable y.

Value access 

int  min (void) const 
 Return minimum of domain.

int  max (void) const 
 Return maximum of domain.

int  med (void) const 
 Return median of domain (greatest element not greater than the median).

int  val (void) const 
 Return assigned value (only if assigned).

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  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  le (Space &home, int n) 
 Restrict domain values to be less than n.

ModEvent  le (Space &home, double n) 
 Restrict domain values to be less 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  gr (Space &home, int n) 
 Restrict domain values to be greater than n.

ModEvent  gr (Space &home, double n) 
 Restrict domain values to be greater 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 iterator 
Views can be both updated by range and value iterators. Value iterators do not need to be strict in that the same value is allowed to occur more than once in the iterated sequence.
The argument depends must be true, if the iterator passed as argument depends on the view on which the operation is invoked. In this case, the view is only updated after the iterator has been consumed. Otherwise, the domain might be updated concurrently while following the iterator.

template<class I > 
ModEvent  narrow_r (Space &home, I &i, bool depends=true) 
 Replace domain by ranges described by i.

template<class I > 
ModEvent  inter_r (Space &home, I &i, bool depends=true) 
 Intersect domain with ranges described by i.

template<class I > 
ModEvent  minus_r (Space &home, I &i, bool depends=true) 
 Remove from domain the ranges described by i.

template<class I > 
ModEvent  narrow_v (Space &home, I &i, bool depends=true) 
 Replace domain by values described by i.

template<class I > 
ModEvent  inter_v (Space &home, I &i, bool depends=true) 
 Intersect domain with values described by i.

template<class I > 
ModEvent  minus_v (Space &home, I &i, bool depends=true) 
 Remove from domain the values described by i.

Delta information for advisors 

int  min (const Delta &d) const 
 Return minimum value just pruned.

int  max (const Delta &d) const 
 Return maximum value just pruned.

bool  any (const Delta &d) const 
 Test whether arbitrary values got pruned.

Viewdependent propagator support 

static ModEventDelta  med (ModEvent me) 
 Translate modification event me to modification event delta for view.
