00001 
00002 #ifndef QECODE_MYDOM
00003 #define QECODE_MYDOM
00004 #include "gecode/minimodel.hh"
00005 using namespace Gecode;
00006 using namespace Gecode::Int;
00007 using namespace std;
00008 
00009 void myAntidom_int(Space* home, IntVar x, const IntSet& is, IntConLevel) {
00010     if (home->failed()) return;
00011     IntView xv(x);
00012     IntSetRanges ris(is);
00013     GECODE_ME_FAIL(home,xv.minus_r(home,ris));
00014 }
00015 
00016 void myAntidom_bool(Space* home, BoolVar x, const IntSet& is, IntConLevel) {
00017     if (home->failed()) return;
00018     BoolView xv(x);
00019     IntSetRanges ris(is);
00020     GECODE_ME_FAIL(home,xv.minus_r(home,ris));
00021 }
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 #endif