branch.hh
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 #ifndef __GECODE_TEST_BRANCH_HH__
00041 #define __GECODE_TEST_BRANCH_HH__
00042
00043 #include <gecode/kernel.hh>
00044
00045 #include <gecode/int.hh>
00046
00047 #ifdef GECODE_HAS_SET_VARS
00048 #include <gecode/set.hh>
00049 #endif
00050
00051 #ifdef GECODE_HAS_FLOAT_VARS
00052 #include <gecode/float.hh>
00053 #endif
00054
00055 #include "test/test.hh"
00056
00057 namespace Test {
00058
00060 namespace Branch {
00061
00066 class IntTest : public Base {
00067 protected:
00069 int arity;
00071 Gecode::IntSet dom;
00072 public:
00074 IntTest(const std::string& s, int a, const Gecode::IntSet& d);
00076 virtual bool run(void);
00078 virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) = 0;
00079 };
00080
00085 class BoolTest : public Base {
00086 protected:
00088 int arity;
00089 public:
00091 BoolTest(const std::string& s, int a);
00093 virtual bool run(void);
00095 virtual void post(Gecode::Space& home, Gecode::BoolVarArray& x) = 0;
00096 };
00097
00098 #ifdef GECODE_HAS_SET_VARS
00099
00103 class SetTest : public Base {
00104 protected:
00106 int arity;
00108 Gecode::IntSet dom;
00109 public:
00111 SetTest(const std::string& s, int a, const Gecode::IntSet& d);
00113 virtual bool run(void);
00115 virtual void post(Gecode::Space& home, Gecode::SetVarArray& x) = 0;
00116 };
00117 #endif
00118
00119 #ifdef GECODE_HAS_FLOAT_VARS
00120
00124 class FloatTest : public Base {
00125 protected:
00127 int arity;
00129 Gecode::FloatVal dom;
00131 int nbSols;
00132 public:
00134 FloatTest(const std::string& s, int a, const Gecode::FloatVal& d, int nbs);
00136 virtual bool run(void);
00138 virtual void post(Gecode::Space& home, Gecode::FloatVarArray& x) = 0;
00139 };
00140 #endif
00141
00142 }
00143
00144 }
00145
00146 #endif
00147
00148