set.hh File Reference
(Revision: 7339)
#include "gecode/kernel.hh"
#include "gecode/int.hh"
#include "gecode/iter.hh"
#include "gecode/set/exception.icc"
#include "gecode/set/limits.icc"
#include "gecode/set/var-imp.icc"
#include "gecode/set/view.icc"
#include "gecode/set/propagator.icc"
#include "gecode/set/array.icc"
Go to the source code of this file.
Namespaces | |
namespace | Gecode::Set |
namespace | Gecode |
namespace | Gecode::Set::Limits |
Classes | |
class | Gecode::SetVar |
Set variables More... | |
class | Gecode::SetVarGlbRanges |
Iterator for the greatest lower bound ranges of a set variable. More... | |
class | Gecode::SetVarLubRanges |
Iterator for the least upper bound ranges of a set variable. More... | |
class | Gecode::SetVarUnknownRanges |
Iterator for the unknown ranges of a set variable. More... | |
class | Gecode::SetVarGlbValues |
Iterator for the values in the greatest lower bound of a set variable. More... | |
class | Gecode::SetVarLubValues |
Iterator for the values in the least upper bound of a set variable. More... | |
class | Gecode::SetVarUnknownValues |
Iterator for the values in the unknown set of a set variable. More... | |
class | Gecode::SetVarArray |
Set variable array More... | |
Defines | |
#define | GECODE_SET_EXPORT __attribute__ ((visibility("default"))) |
Typedefs | |
typedef VarArgArray< SetVar > | Gecode::SetVarArgs |
Passing set variables. | |
Enumerations | |
enum | Gecode::SetRelType { Gecode::SRT_EQ, Gecode::SRT_NQ, Gecode::SRT_SUB, Gecode::SRT_SUP, Gecode::SRT_DISJ, Gecode::SRT_CMPL } |
Common relation types for sets. More... | |
enum | Gecode::SetOpType { Gecode::SOT_UNION, Gecode::SOT_DUNION, Gecode::SOT_INTER, Gecode::SOT_MINUS } |
Common operations for sets. More... | |
enum | Gecode::SetVarBranch { Gecode::SET_VAR_NONE, Gecode::SET_VAR_MIN_CARD, Gecode::SET_VAR_MAX_CARD, Gecode::SET_VAR_MIN_UNKNOWN_ELEM, Gecode::SET_VAR_MAX_UNKNOWN_ELEM } |
Which variable to select for branching. More... | |
enum | Gecode::SetValBranch { Gecode::SET_VAL_MIN, Gecode::SET_VAL_MAX } |
Which values to select first for branching. More... | |
Functions | |
void | Gecode::Set::Limits::check (int n, const char *l) |
Check whether integer n is in range, otherwise throw overflow exception with information l. | |
void | Gecode::Set::Limits::check (unsigned int n, const char *l) |
Check whether unsigned int n is in range for cardinality, otherwise throw overflow exception with information l. | |
void | Gecode::Set::Limits::check (const IntSet &s, const char *l) |
Check whether minimum and maximum of IntSet s is in range, otherwise throw overflow exception with information l. | |
void | Gecode::dom (Space *home, SetVar x, SetRelType r, int i) |
Propagates . | |
void | Gecode::dom (Space *home, SetVar x, SetRelType r, int i, int j) |
Propagates . | |
void | Gecode::dom (Space *home, SetVar x, SetRelType r, const IntSet &s) |
Propagates . | |
void | Gecode::dom (Space *home, SetVar x, SetRelType r, int i, BoolVar b) |
Post propagator for . | |
void | Gecode::dom (Space *home, SetVar x, SetRelType r, int i, int j, BoolVar b) |
Post propagator for . | |
void | Gecode::dom (Space *home, SetVar x, SetRelType r, const IntSet &s, BoolVar b) |
Post propagator for . | |
void | Gecode::cardinality (Space *home, SetVar x, unsigned int i, unsigned int j) |
Propagates . | |
void | Gecode::rel (Space *home, SetVar x, SetRelType r, SetVar y) |
Post propagator for . | |
void | Gecode::rel (Space *home, SetVar x, SetRelType r, SetVar y, BoolVar b) |
Post propagator for . | |
void | Gecode::rel (Space *home, SetVar s, SetRelType r, IntVar x) |
Post propagator for . | |
void | Gecode::rel (Space *home, IntVar x, SetRelType r, SetVar s) |
Post propagator for . | |
void | Gecode::rel (Space *home, SetVar s, SetRelType r, IntVar x, BoolVar b) |
Post propagator for . | |
void | Gecode::rel (Space *home, IntVar x, SetRelType r, SetVar s, BoolVar b) |
Post propagator for . | |
void | Gecode::rel (Space *home, SetVar s, IntRelType r, IntVar x) |
Post propagator for . | |
void | Gecode::rel (Space *home, IntVar x, IntRelType r, SetVar s) |
Post propagator for . | |
void | Gecode::rel (Space *home, SetVar x, SetOpType op, SetVar y, SetRelType r, SetVar z) |
Post propagator for . | |
void | Gecode::rel (Space *home, SetOpType op, const SetVarArgs &x, SetVar y) |
Post propagator for . | |
void | Gecode::rel (Space *home, SetOpType op, const SetVarArgs &x, const IntSet &z, SetVar y) |
Post propagator for . | |
void | Gecode::rel (Space *home, const IntSet &x, SetOpType op, SetVar y, SetRelType r, SetVar z) |
Post propagator for . | |
void | Gecode::rel (Space *home, SetVar x, SetOpType op, const IntSet &y, SetRelType r, SetVar z) |
Post propagator for . | |
void | Gecode::rel (Space *home, SetVar x, SetOpType op, SetVar y, SetRelType r, const IntSet &z) |
Post propagator for . | |
void | Gecode::rel (Space *home, const IntSet &x, SetOpType op, SetVar y, SetRelType r, const IntSet &z) |
Post propagator for . | |
void | Gecode::rel (Space *home, SetVar x, SetOpType op, const IntSet &y, SetRelType r, const IntSet &z) |
Post propagator for . | |
void | Gecode::convex (Space *home, SetVar x) |
Post propagator that propagates that x is convex. | |
void | Gecode::convexHull (Space *home, SetVar x, SetVar y) |
Post propagator that propagates that y is the convex hull of x. | |
void | Gecode::sequence (Space *home, const SetVarArgs &x) |
Post propagator for . | |
void | Gecode::sequentialUnion (Space *home, const SetVarArgs &y, SetVar x) |
Post propagator for and . | |
void | Gecode::atmostOne (Space *home, const SetVarArgs &x, unsigned int c) |
Post propagator for and . | |
void | Gecode::min (Space *home, SetVar s, IntVar x) |
Post propagator that propagates that x is the minimal element of s, and that s is not empty. | |
void | Gecode::max (Space *home, SetVar s, IntVar x) |
Post propagator that propagates that x is the maximal element of s, and that s is not empty. | |
void | Gecode::match (Space *home, SetVar s, const IntVarArgs &x) |
Post propagator that propagates that s contains the , which are sorted in non-descending order. | |
void | Gecode::channel (Space *home, const IntVarArgs &x, const SetVarArgs &y) |
Post propagator for . | |
void | Gecode::channel (Space *home, const BoolVarArgs &x, SetVar y) |
Post propagator for . | |
void | Gecode::cardinality (Space *home, SetVar s, IntVar x) |
Post propagator for . | |
void | Gecode::weights (Space *home, const IntArgs &elements, const IntArgs &weights, SetVar x, IntVar y) |
Post propagator for . | |
void | Gecode::elementsUnion (Space *home, const SetVarArgs &x, SetVar y, SetVar z) |
Post propagator for . | |
void | Gecode::elementsUnion (Space *home, const IntSetArgs &s, SetVar y, SetVar z) |
Post propagator for . | |
void | Gecode::elementsInter (Space *home, const SetVarArgs &x, SetVar y, SetVar z) |
Post propagator for using as universe. | |
void | Gecode::elementsInter (Space *home, const SetVarArgs &x, SetVar y, SetVar z, const IntSet &u) |
Post propagator for using u as universe. | |
void | Gecode::elementsDisjoint (Space *home, const SetVarArgs &x, SetVar y) |
Post propagator for . | |
void | Gecode::element (Space *home, const SetVarArgs &x, IntVar y, SetVar z) |
Post propagator for . | |
void | Gecode::element (Space *home, const IntSetArgs &s, IntVar y, SetVar z) |
Post propagator for . | |
void | Gecode::branch (Space *home, const SetVarArgs &x, SetVarBranch vars, SetValBranch vals) |
Branch over x with variable selection vars and value selection vals. | |
Variables | |
const int | Gecode::Set::Limits::max = (Gecode::Int::Limits::max / 2) - 1 |
Largest allowed integer in integer set. | |
const int | Gecode::Set::Limits::min = -max |
Smallest allowed integer in integer set. | |
const unsigned int | Gecode::Set::Limits::card = max-min+1 |
Maximum cardinality of an integer set. |
Define Documentation
#define GECODE_SET_EXPORT __attribute__ ((visibility("default"))) |