40 #define GECODE_SET_ME_CHECK_VAL(p,f) { \ 41 ModEvent __me__ ## __LINE__ = (p); \ 42 if (me_failed(__me__ ## __LINE__)) return ES_FAILED; \ 43 if (ME_GEN_ASSIGNED==(__me__ ## __LINE__))f=true; } 45 #define GECODE_SET_ME_CHECK_VAL_B(modified, tell, f) \ 47 ModEvent me = (tell); \ 48 modified |= me_modified(me); \ 49 if (ME_GEN_ASSIGNED==(me))f=true; \ 50 GECODE_ME_CHECK(me); \ 53 namespace Gecode {
namespace Set {
namespace Rel {
55 template<
class VX,
class VY>
bool testSetEventAnyB(ModEvent me0, ModEvent me1, ModEvent me2)
const Gecode::ModEvent ME_SET_LUB
Domain operation has changed the least upper bound.
bool subsumesME(ModEvent me0, ModEvent me1, ModEvent me2, ModEvent me)
int ModEvent
Type for modification events.
bool same(VX, VY)
Test whether two views are in fact the same.
const Gecode::ModEvent ME_SET_GLB
Domain operation has changed the greatest lower bound.
Set view for set variables
bool testSetEventLB(ModEvent me0, ModEvent me1, ModEvent me2)
Post propagator for SetVar SetOpType SetVar y
bool same(SetView x, SetView y)
Post propagator for SetVar x
bool testSetEventCard(ModEvent me0, ModEvent me1, ModEvent me2)
Gecode toplevel namespace
static ModEvent me_combine(ModEvent me1, ModEvent me2)
Combine modifications events me1 and me2.
bool testSetEventUB(ModEvent me0, ModEvent me1, ModEvent me2)
const Gecode::ModEvent ME_SET_CARD
Domain operation has changed the variable cardinality.