40 namespace Gecode {
namespace Set {
74 unsigned int cardMin(
void)
const;
76 unsigned int cardMax(
void)
const;
89 unsigned int glbSize(
void)
const;
91 unsigned int lubSize(
void)
const;
168 template<
class Char,
class Traits>
169 std::basic_ostream<Char,Traits>&
170 operator <<(std::basic_ostream<Char,Traits>& os,
const SetView&
x);
196 unsigned int domSize;
208 unsigned int cardMin(
void)
const;
211 unsigned int cardMax(
void)
const;
224 unsigned int glbSize(
void)
const;
226 unsigned int lubSize(
void)
const;
308 template<
class Char,
class Traits>
309 std::basic_ostream<Char,Traits>&
310 operator <<(std::basic_ostream<Char,Traits>& os,
const ConstSetView&
x);
341 unsigned int cardMin(
void)
const;
344 unsigned int cardMax(
void)
const;
357 unsigned int glbSize(
void)
const;
359 unsigned int lubSize(
void)
const;
435 template<
class Char,
class Traits>
436 std::basic_ostream<Char,Traits>&
437 operator <<(std::basic_ostream<Char,Traits>& os,
const EmptyView&
x);
469 unsigned int cardMin(
void)
const;
471 unsigned int cardMax(
void)
const;
484 unsigned int glbSize(
void)
const;
486 unsigned int lubSize(
void)
const;
562 template<
class Char,
class Traits>
563 std::basic_ostream<Char,Traits>&
564 operator <<(std::basic_ostream<Char,Traits>& os,
const UniverseView&
x);
612 unsigned int cardMin(
void)
const;
614 unsigned int cardMax(
void)
const;
627 unsigned int glbSize(
void)
const;
629 unsigned int lubSize(
void)
const;
737 template<
class Char,
class Traits>
738 std::basic_ostream<Char,Traits>&
739 operator <<(std::basic_ostream<Char,Traits>& os,
const SingletonView&
x);
775 unsigned int cardMin(
void)
const;
777 unsigned int cardMax(
void)
const;
790 unsigned int glbSize(
void)
const;
792 unsigned int lubSize(
void)
const;
898 template<
class Char,
class Traits,
class View>
899 std::basic_ostream<Char,Traits>&
900 operator <<(std::basic_ostream<Char,Traits>& os,
945 unsigned int cardMin(
void)
const;
947 unsigned int cardMax(
void)
const;
960 unsigned int glbSize(
void)
const;
962 unsigned int lubSize(
void)
const;
1067 void cacheGlb(
Space& home);
1069 void cacheLub(
Space& home);
1071 bool glbModified(
void)
const;
1073 bool lubModified(
void)
const;
1087 template<
class Char,
class Traits,
class View>
1088 std::basic_ostream<Char,Traits>&
1089 operator <<(std::basic_ostream<Char,Traits>& os,
1096 template<
class View>
1113 template<
class View>
static ModEventDelta med(ModEvent me)
Translate modification event me to modification event delta for view.
void cancel(Space &home, Propagator &p, PropCond pc)
Cancel subscription of propagator p with propagation condition pc to view.
void update(Space &home, VarImpView< SetVar > &y)
Update this view to be a clone of view y.
bool same(const VarImpView< VarA > &x, const VarImpView< VarB > &y)
Test whether views x and y are the same.
unsigned int cardMax(void) const
Return maximum cardinality.
ModEvent include(Space &home, int i, int j)
Update greatest lower bound to include all elements between and including i and j.
Shrinking sets of integers.
int ModEvent
Type for modification events.
Base-class for propagators.
int glbMin(void) const
Return minimum of the greatest lower bound.
ModEvent intersect(Space &home, int i, int j)
Update least upper bound to contain at most all elements between and including i and j...
BndSetRanges cr
Cached lower bound.
unsigned int cardMin(void) const
Return minimum cardinality.
bool glbAny(const Delta &d) const
Test whether arbitrary values got pruned from glb.
Range iterator for the greatest lower bound.
Finite integer set variable implementation.
void reschedule(Space &home, Propagator &p, PropCond pc)
Re-schedule propagator p with propagation condition pc.
ModEvent excludeI(Space &home, I &i)
Remove range sequence described by i from least upper bound.
Base-class for constant views.
static ModEvent modevent(const Delta &d)
Return modification event.
Base-class for derived views.
Range iterator for the least upper bound.
unsigned int unknownSize(void) const
Return the number of unknown elements.
void subscribe(Space &home, Propagator &p, PropCond pc, bool schedule=true)
Subscribe propagator p with propagation condition pc to view.
int p
Number of positive literals for node type.
Gecode::IntArgs i(4, 1, 2, 3, 4)
int n
Number of negative literals for node type.
bool before(const ViewA &x, const ViewB &y)
Test whether view x comes before y (arbitrary order)
Constant view for the universe.
int PropCond
Type for propagation conditions.
SetView(void)
Default constructor.
GLBndSet glbCache
The cached greatest lower bound.
unsigned int size(I &i)
Size of all ranges of range iterator i.
Range iterator for integer sets.
Base-class for variable implementation views.
unsigned int lubSize(void) const
Return the number of elements in the least upper bound.
Range iterator for difference of greatest lower bound and cache
ModEvent includeI(Space &home, I &i)
Include range sequence described by i in greatest lower bound.
bool same(const ConstSetView &x, const ConstSetView &y)
ModEvent intersectI(Space &home, I &iter)
Intersect least upper bound with range sequence described by i.
Set view for set variables
Integer view for integer variables.
Post propagator for SetVar SetOpType SetVar y
Generic domain change information to be supplied to advisors.
struct Gecode::@585::NNF::@62::@64 a
For atomic nodes.
LUBndSet lubCache
The cached least upper bound.
static ModEvent me(const ModEventDelta &med)
Return modification event for view type in med.
int glbMax(void) const
Return maximum of the greatest lower bound.
Growing sets of integers.
ModEvent exclude(Space &home, int i, int j)
Restrict least upper bound to not contain all elements between and including i and j...
bool notContains(int i) const
Test whether i is not in the least upper bound.
Gecode toplevel namespace
static void schedule(Space &home, Propagator &p, ModEvent me)
Schedule propagator p with modification event me.
LubRanges< View > lr
Upper bound iterator.
Range iterator for computing set difference.
bool lubAny(const Delta &d) const
Test whether arbitrary values got pruned from lub.
bool contains(int i) const
Test whether i is in the greatest lower bound.
VarImpType * x
Pointer to variable implementation.
GlbRanges< View > gr
Lower bound iterator.
int lubMinN(unsigned int n) const
Return n-th smallest element of the least upper bound.
Constant view for the empty set.
int ModEventDelta
Modification event deltas.
bool before(const ConstSetView &x, const ConstSetView &y)
int lubMin(void) const
Return minimum of the least upper bound.
Range iterator for difference of least upper bound and cache
unsigned int glbSize(void) const
Return the number of elements in the greatest lower bound.
int lubMax(void) const
Return maximum of the least upper bound.
BndSetRanges cr
Cached upper bound.