44 namespace Gecode {
namespace Set {
78 unsigned int cardMin(
void)
const;
80 unsigned int cardMax(
void)
const;
93 unsigned int glbSize(
void)
const;
95 unsigned int lubSize(
void)
const;
172 template<
class Char,
class Traits>
173 std::basic_ostream<Char,Traits>&
174 operator <<(std::basic_ostream<Char,Traits>& os,
const SetView&
x);
200 unsigned int domSize;
212 unsigned int cardMin(
void)
const;
215 unsigned int cardMax(
void)
const;
228 unsigned int glbSize(
void)
const;
230 unsigned int lubSize(
void)
const;
312 template<
class Char,
class Traits>
313 std::basic_ostream<Char,Traits>&
314 operator <<(std::basic_ostream<Char,Traits>& os,
const ConstSetView&
x);
345 unsigned int cardMin(
void)
const;
348 unsigned int cardMax(
void)
const;
361 unsigned int glbSize(
void)
const;
363 unsigned int lubSize(
void)
const;
439 template<
class Char,
class Traits>
440 std::basic_ostream<Char,Traits>&
441 operator <<(std::basic_ostream<Char,Traits>& os,
const EmptyView&
x);
473 unsigned int cardMin(
void)
const;
475 unsigned int cardMax(
void)
const;
488 unsigned int glbSize(
void)
const;
490 unsigned int lubSize(
void)
const;
566 template<
class Char,
class Traits>
567 std::basic_ostream<Char,Traits>&
568 operator <<(std::basic_ostream<Char,Traits>& os,
const UniverseView&
x);
616 unsigned int cardMin(
void)
const;
618 unsigned int cardMax(
void)
const;
631 unsigned int glbSize(
void)
const;
633 unsigned int lubSize(
void)
const;
739 template<
class Char,
class Traits>
740 std::basic_ostream<Char,Traits>&
741 operator <<(std::basic_ostream<Char,Traits>& os,
const SingletonView&
x);
777 unsigned int cardMin(
void)
const;
779 unsigned int cardMax(
void)
const;
792 unsigned int glbSize(
void)
const;
794 unsigned int lubSize(
void)
const;
900 template<
class Char,
class Traits,
class View>
901 std::basic_ostream<Char,Traits>&
902 operator <<(std::basic_ostream<Char,Traits>& os,
947 unsigned int cardMin(
void)
const;
949 unsigned int cardMax(
void)
const;
962 unsigned int glbSize(
void)
const;
964 unsigned int lubSize(
void)
const;
1069 void cacheGlb(
Space& home);
1071 void cacheLub(
Space& home);
1073 bool glbModified(
void)
const;
1075 bool lubModified(
void)
const;
1089 template<
class Char,
class Traits,
class View>
1090 std::basic_ostream<Char,Traits>&
1091 operator <<(std::basic_ostream<Char,Traits>& os,
1098 template<
class View>
1115 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.
unsigned int cardMin(void) const
Return minimum cardinality.
ModEvent include(Space &home, int i, int j)
Update greatest lower bound to include all elements between and including i and j.
unsigned int glbSize(void) const
Return the number of elements in the greatest lower bound.
unsigned int unknownSize(void) const
Return the number of unknown elements.
int glbMin(void) const
Return minimum of the greatest lower bound.
Shrinking sets of integers.
int ModEvent
Type for modification events.
unsigned int cardMax(void) const
Return maximum cardinality.
Base-class for propagators.
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.
Range iterator for the greatest lower bound.
Finite integer set variable implementation.
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.
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.
int lubMin(void) const
Return minimum of the least upper bound.
Constant view for the universe.
int PropCond
Type for propagation conditions.
int glbMax(void) const
Return maximum of the greatest lower bound.
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.
int lubMinN(unsigned int n) const
Return n-th smallest element of the least upper bound.
Base-class for variable implementation views.
bool contains(int i) const
Test whether i is in the greatest lower bound.
struct Gecode::@519::NNF::@60::@62 a
For atomic nodes.
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 notContains(int i) const
Test whether i is not in the least upper bound.
void update(Space &home, bool share, VarImpView< SetVar > &y)
Update this view to be a clone of view y.
int lubMax(void) const
Return maximum of the least upper 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.
Generic domain change information to be supplied to advisors.
LUBndSet lubCache
The cached least upper bound.
static ModEvent me(const ModEventDelta &med)
Return modification event for view type in med.
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...
Gecode toplevel namespace
bool glbAny(const Delta &d) const
Test whether arbitrary values got pruned from glb.
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.
VarImpType * x
Pointer to variable implementation.
GlbRanges< View > gr
Lower bound iterator.
Constant view for the empty set.
int ModEventDelta
Modification event deltas.
bool before(const ConstSetView &x, const ConstSetView &y)
unsigned int lubSize(void) const
Return the number of elements in the least upper bound.
Range iterator for difference of least upper bound and cache
bool lubAny(const Delta &d) const
Test whether arbitrary values got pruned from lub.
BndSetRanges cr
Cached upper bound.