view.icc
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 namespace Gecode {
00039
00040 namespace CpltSet {
00041
00055 class CpltSetView : public VarViewBase<CpltSetVarImp> {
00056 protected:
00057 using VarViewBase<CpltSetVarImp>::varimp;
00058 public:
00060
00061
00062 CpltSetView(void);
00064 CpltSetView(const CpltSetVar& x);
00066 CpltSetView(CpltSetVarImp* x);
00068
00070
00071
00072 unsigned int cardMin(void) const;
00074 unsigned int cardMax(void) const;
00076 int lubMin(void) const;
00078 int lubMax(void) const;
00080 int lubMinN(int n) const;
00082 int lubMaxN(int n) const;
00084 int glbMin(void) const;
00086 int glbMax(void) const;
00088 unsigned int glbSize(void) const;
00090 unsigned int lubSize(void) const;
00092 unsigned int unknownSize(void) const;
00094
00096
00097
00098 bool assigned(void) const;
00100 bool contains(int i) const;
00102 bool notContains(int i) const;
00104
00106
00107
00108 int initialLubMin(void) const;
00110 int initialLubMax(void) const;
00113 unsigned int tableWidth(void) const;
00116 unsigned int offset(void) const;
00119 bdd element(int i) const;
00122 bdd elementNeg(int i) const;
00124 bdd dom(void) const;
00126
00127
00129
00130
00134 ModEvent cardinality(Space* home, int l, int u);
00136 ModEvent cardMin(Space* home, unsigned int m);
00138 ModEvent cardMax(Space* home, unsigned int m);
00139
00141 ModEvent include(Space* home, int i,int j);
00143 ModEvent include(Space* home, int i);
00144
00146 ModEvent exclude(Space* home, int i,int j);
00148 ModEvent exclude(Space* home, int i);
00149
00151 ModEvent nq(Space* home, int v);
00153 ModEvent nq(Space* home, int a, int b);
00154
00156 ModEvent eq(Space* home, int v);
00158 ModEvent eq(Space* home, int a, int b);
00159
00161 ModEvent intersect(Space* home,int i,int j);
00163 ModEvent intersect(Space* home,int i);
00164
00166 ModEvent intersect(Space* home, bdd& d);
00168
00170
00171
00173 template <class I> ModEvent excludeI(Space* home, I& i);
00175 template <class I> ModEvent includeI(Space* home, I& i);
00177 template <class I> ModEvent intersectI(Space* home, I& iter);
00179 template <class I> ModEvent eqI(Space* home, I& i);
00181 template <class I> ModEvent nqI(Space* home, I& i);
00183
00185
00186
00187 void update(Space* home, bool share, CpltSetView& x);
00189
00191
00192
00193 Reflection::Arg* spec(const Space* home, Reflection::VarMap& m) const;
00194 static Support::Symbol type(void);
00196
00198
00199
00200 static ModEvent modevent(const Delta* d);
00202 };
00203
00204 }
00211 template<>
00212 class ViewVarImpTraits<CpltSet::CpltSetView> {
00213 public:
00215 typedef CpltSet::CpltSetVarImp VarImp;
00216 };
00217
00218 }
00219
00220 #include "gecode/cpltset/var/cpltset.icc"
00221 #include "gecode/cpltset/view/cpltset.icc"
00222
00227 GECODE_CPLTSET_EXPORT std::ostream&
00228 operator<<(std::ostream&, const Gecode::CpltSet::CpltSetView& x);
00229
00230
00231