46 template<
class VarImp>
60 VarImp* varimp(
void)
const;
63 unsigned int degree(
void)
const;
65 double afc(
void)
const;
94 template<
class VarImp>
98 template<
class VarImp>
102 template<
class VarImp>
107 template<
class VarImp>
112 template<
class VarImp>
117 template<
class VarImp>
120 return x->assigned();
122 template<
class VarImp>
127 template<
class VarImp>
130 return varimp() == y.
varimp();
132 template<
class VarImp>
135 return varimp() < y.
varimp();
Base-class for variable implementations.
Variables as interfaces to variable implementations.
VarImpVar(void)
Default constructor.
VarImp * varimp(void) const
Return variable implementation of variable.
VarImp VarImpType
The variable implementation type corresponding to the variable.
bool same(const ConstView< ViewA > &, const ConstView< ViewB > &)
Test whether two views are the same.
VarImp * x
Pointer to variable implementation.
bool before(const ViewA &x, const ViewB &y)
bool before(const Item &i, const Item &j)
Test whether one item is before another.
Post propagator for SetVar SetOpType SetVar y
Base class for variables.
Node * x
Pointer to corresponding Boolean expression node.
bool assigned(View x, int v)
Whether x is assigned to value v.
bool same(const Item &i, const Item &j)
Whether two items are the same.
Post propagator for SetVar x
Gecode toplevel namespace
void update(IntSet &y, Space &home, IntSet &py)