50 template<
class VarImp>
64 VarImp* varimp(
void)
const;
67 unsigned int degree(
void)
const;
98 template<
class VarImp>
102 template<
class VarImp>
106 template<
class VarImp>
111 template<
class VarImp>
116 template<
class VarImp>
121 template<
class VarImp>
124 return x->assigned();
126 template<
class VarImp>
129 x = y.
x->copy(home,share);
131 template<
class VarImp>
136 template<
class VarImp>
Base-class for variable implementations.
Variables as interfaces to variable implementations.
VarImpVar(void)
Default constructor.
double afc(const Space &home) const
Return accumulated failure count (plus degree)
void update(Space &home, bool share, VarImpVar< VarImp > &y)
Update this variable to be a clone of variable y.
bool before(const VarImpVar< VarImp > &y) const
Test whether variable comes before y (arbitrary order)
VarImp VarImpType
The variable implementation type corresponding to the variable.
double afc(const Space &home) const
Return accumulated failure count.
bool same(const ConstView< ViewA > &, const ConstView< ViewB > &)
Test whether two views are the same.
VarImp * x
Pointer to variable implementation.
unsigned int degree(void) const
Return degree (number of subscribed propagators and advisors)
bool before(const ViewA &x, const ViewB &y)
unsigned int degree(void) const
Return degree (number of subscribed propagators and advisors)
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 assigned(void) const
Test whether view is assigned.
Gecode toplevel namespace
bool same(const VarImpVar< VarImp > &y) const
Test whether variable is the same as y.
VarImp * varimp(void) const
Return variable implementation of variable.