1 #ifndef vars_h 2 #define vars_h 3 4 #include <chuffed/branching/branching.h> 5 6 enum EVENT_TYPE { 7 EVENT_C = 1, // Any change in the domain of the variable 8 EVENT_L = 2, // Lower bound change of the variable 9 EVENT_U = 4, // Upper bound change of the variable 10 EVENT_F = 8, // When the variable is fixed 11 EVENT_LU = 6, // Lower and upper bound change of the variable 12 EVENT_LF = 10, // Lower bound change and fixation of the variable 13 EVENT_UF = 12 // Upper bound change and fixation of the variable 14 }; 15 16 enum VarType { 17 BOOL_VAR, // Boolean variable 18 INT_VAR, // Integer variable 19 INT_VAR_EL, // Integer variable with eager literals 20 INT_VAR_LL, // Integer variable with lazy literals 21 INT_VAR_SL 22 }; 23 24 enum PreferredVal { 25 PV_MIN, 26 PV_MAX, 27 PV_SPLIT_MIN, 28 PV_SPLIT_MAX, 29 PV_MEDIAN 30 }; 31 32 class Var : public Branching { 33 public: 34 virtual VarType getType() = 0; 35 virtual void setPreferredVal(PreferredVal vb) = 0; ~Var(void)36 virtual ~Var(void) {} 37 }; 38 39 #endif 40 41