43 template<
class View_,
class Val_>
49 typedef typename View::VarType
Var;
67 typename BranchTraits<typename View::VarType>::ValType> {
98 template<
class View,
class Val>
101 template<
class View,
class Val>
104 template<
class View,
class Val>
109 template<
class View,
class Val>
131 typename View::VarType y(x.varimp());
133 return v()(home,y,i);
Exception: invalid function
Class for sharing data between spaces.
Value branching information.
ValSel< View, typenameBranchTraits< typenameView::VarType >::ValType >::Val Val
The corresponding value type.
BranchTraits< Var >::Val ValFunction
The corresponding value function.
ValSelFunction(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
void dispose(Space &home)
Delete value selection.
bool notice(void) const
Whether dispose must always be called (that is, notice is needed).
ValSel< View, typenameBranchTraits< typenameView::VarType >::ValType >::Var Var
The corresponding variable type.
SharedData< ValFunction > v
The user-defined value function.
Val val(const Space &home, View x, int i)
Return user-defined value of view x at position i.
bool notice(void) const
Whether dispose must always be called (that is, notice is needed).
ValSel(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
void dispose(Space &home)
Delete value selection.
ValSel(Space &home, ValSel< View, Val > &vs)
Constructor for cloning.
View::VarType Var
Corresponding variable type.
Gecode toplevel namespace
#define GECODE_VALID_FUNCTION(f)
Assert that a function is valid.