int.hh File Reference
(Revision: 7494)
#include <climits>
#include <iostream>
#include "gecode/kernel.hh"
#include "gecode/iter.hh"
#include "gecode/int/exception.icc"
#include "gecode/int/limits.icc"
#include "gecode/int/int-set.icc"
#include "gecode/int/var-imp.icc"
#include "gecode/int/view.icc"
#include "gecode/int/propagator.icc"
#include "gecode/int/array.icc"
#include "gecode/int/extensional/dfa.icc"
#include "gecode/int/extensional/tuple-set.icc"
Go to the source code of this file.
Namespaces | |
namespace | Gecode::Int |
namespace | Gecode |
namespace | Gecode::Int::Limits |
Classes | |
class | Gecode::IntSet |
Integer sets. More... | |
class | Gecode::IntSetRanges |
Range iterator for integer sets. More... | |
class | Gecode::IntSetValues |
Value iterator for integer sets. More... | |
class | Gecode::IntVar |
Integer variables. More... | |
class | Gecode::IntVarRanges |
Range iterator for integer variables More... | |
class | Gecode::IntVarValues |
Value iterator for integer variables. More... | |
class | Gecode::BoolVar |
Boolean integer variables. More... | |
class | Gecode::IntVarArray |
Integer variable array. More... | |
class | Gecode::BoolVarArray |
Boolean variable array. More... | |
class | Gecode::DFA |
Deterministic finite automaton (DFA). More... | |
class | Gecode::DFA::Transition |
Specification of a DFA transition. More... | |
class | Gecode::DFA::Transitions |
Iterator for DFA transitions (sorted by symbols). More... | |
class | Gecode::DFA::Symbols |
Iterator for DFA symbols. More... | |
class | Gecode::TupleSet |
Data stored for a Table. More... | |
Defines | |
#define | GECODE_INT_EXPORT __attribute__ ((visibility("default"))) |
Typedefs | |
typedef PrimArgArray< int > | Gecode::IntArgs |
Passing integer arguments. | |
typedef VarArgArray< IntVar > | Gecode::IntVarArgs |
Passing integer variables. | |
typedef VarArgArray< BoolVar > | Gecode::BoolVarArgs |
Passing Boolean variables. | |
typedef PrimArgArray< IntSet > | Gecode::IntSetArgs |
Passing set arguments. | |
Enumerations | |
enum | Gecode::IntRelType { Gecode::IRT_EQ, Gecode::IRT_NQ, Gecode::IRT_LQ, Gecode::IRT_LE, Gecode::IRT_GQ, Gecode::IRT_GR } |
Relation types for integers. More... | |
enum | Gecode::BoolOpType { Gecode::BOT_AND, Gecode::BOT_OR, Gecode::BOT_IMP, Gecode::BOT_EQV, Gecode::BOT_XOR } |
Operation types for Booleans. More... | |
enum | Gecode::IntConLevel { Gecode::ICL_VAL, Gecode::ICL_BND, Gecode::ICL_DOM, Gecode::ICL_DEF } |
Consistency levels for integer propagators. More... | |
enum | Gecode::IntVarBranch { Gecode::INT_VAR_NONE, Gecode::INT_VAR_MIN_MIN, Gecode::INT_VAR_MIN_MAX, Gecode::INT_VAR_MAX_MIN, Gecode::INT_VAR_MAX_MAX, Gecode::INT_VAR_SIZE_MIN, Gecode::INT_VAR_SIZE_MAX, Gecode::INT_VAR_DEGREE_MIN, Gecode::INT_VAR_DEGREE_MAX, Gecode::INT_VAR_SIZE_DEGREE_MIN, Gecode::INT_VAR_SIZE_DEGREE_MAX, Gecode::INT_VAR_REGRET_MIN_MIN, Gecode::INT_VAR_REGRET_MIN_MAX, Gecode::INT_VAR_REGRET_MAX_MIN, Gecode::INT_VAR_REGRET_MAX_MAX } |
Which variable to select for branching. More... | |
enum | Gecode::IntValBranch { Gecode::INT_VAL_MIN, Gecode::INT_VAL_MED, Gecode::INT_VAL_MAX, Gecode::INT_VAL_SPLIT_MIN, Gecode::INT_VAL_SPLIT_MAX } |
Which values to select first for branching. More... | |
enum | Gecode::IntAssign { Gecode::INT_ASSIGN_MIN, Gecode::INT_ASSIGN_MED, Gecode::INT_ASSIGN_MAX } |
Which value to select for assignment. More... | |
Functions | |
void | Gecode::Int::Limits::check (int n, const char *l) |
Check whether integer n is in range, otherwise throw out of limits with information l. | |
void | Gecode::Int::Limits::check (double n, const char *l) |
Check whether double n is in integer range, otherwise throw out of limits exception with information l. | |
void | Gecode::dom (Space *home, IntVar x, int l, int m, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Propagates . | |
void | Gecode::dom (Space *home, const IntVarArgs &x, int l, int m, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Propagates for all . | |
void | Gecode::dom (Space *home, IntVar x, const IntSet &s, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Propagates . | |
void | Gecode::dom (Space *home, const IntVarArgs &x, const IntSet &s, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Propagates for all . | |
void | Gecode::dom (Space *home, IntVar x, int l, int m, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::dom (Space *home, IntVar x, const IntSet &s, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::rel (Space *home, IntVar x0, IntRelType r, IntVar x1, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::rel (Space *home, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagators for for all . | |
void | Gecode::rel (Space *home, IntVar x, IntRelType r, int c, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Propagates . | |
void | Gecode::rel (Space *home, const IntVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Propagates for all . | |
void | Gecode::rel (Space *home, IntVar x0, IntRelType r, IntVar x1, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::rel (Space *home, IntVar x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::rel (Space *home, const IntVarArgs &x, IntRelType r, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for pairwise relation on x. | |
void | Gecode::rel (Space *home, const IntVarArgs &x, IntRelType r, const IntVarArgs &y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for relation between x and y. | |
void | Gecode::rel (Space *home, BoolVar x0, IntRelType r, BoolVar x1, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::rel (Space *home, BoolVar x0, IntRelType r, BoolVar x1, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::rel (Space *home, const BoolVarArgs &x, IntRelType r, BoolVar y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for for all . | |
void | Gecode::rel (Space *home, BoolVar x, IntRelType r, int n, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Propagates . | |
void | Gecode::rel (Space *home, BoolVar x, IntRelType r, int n, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Propagates . | |
void | Gecode::rel (Space *home, BoolVar x0, BoolOpType o, BoolVar x1, BoolVar x2, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for Boolean operation on x0 and x1. | |
void | Gecode::rel (Space *home, BoolVar x0, BoolOpType o, BoolVar x1, int n, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for Boolean operation on x0 and x1. | |
void | Gecode::rel (Space *home, BoolOpType o, const BoolVarArgs &x, BoolVar y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for Boolean operation on x. | |
void | Gecode::rel (Space *home, BoolOpType o, const BoolVarArgs &x, int n, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for Boolean operation on x. | |
void | Gecode::element (Space *home, const IntArgs &n, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::element (Space *home, const IntArgs &n, IntVar x0, BoolVar x1, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::element (Space *home, const IntArgs &n, IntVar x0, int x1, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::element (Space *home, const IntVarArgs &x, IntVar y0, IntVar y1, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::element (Space *home, const IntVarArgs &x, IntVar y0, int y1, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::element (Space *home, const BoolVarArgs &x, IntVar y0, BoolVar y1, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::distinct (Space *home, const IntVarArgs &x, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for for all . | |
void | Gecode::distinct (Space *home, const IntArgs &n, const IntVarArgs &x, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for for all . | |
void | Gecode::channel (Space *home, const IntVarArgs &x, const IntVarArgs &y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for for all . | |
void | Gecode::channel (Space *home, const IntVarArgs &x, unsigned int xoff, const IntVarArgs &y, unsigned int yoff, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for for all . | |
void | Gecode::channel (Space *home, BoolVar x0, IntVar x1, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for channeling a Boolean and an integer variable . | |
void | Gecode::channel (Space *home, IntVar x0, BoolVar x1, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for channeling an integer and a Boolean variable . | |
void | Gecode::channel (Space *home, const BoolVarArgs &x, IntVar y, int o=0, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for channeling Boolean and integer variables . | |
void | Gecode::circuit (Space *home, const IntVarArgs &x, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator such that x forms a circuit. | |
void | Gecode::cumulatives (Space *home, const IntVarArgs &machine, const IntVarArgs &start, const IntVarArgs &duration, const IntVarArgs &end, const IntVarArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagators for the cumulatives constraint. | |
void | Gecode::cumulatives (Space *home, const IntArgs &machine, const IntVarArgs &start, const IntVarArgs &duration, const IntVarArgs &end, const IntVarArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagators for the cumulatives constraint. | |
void | Gecode::cumulatives (Space *home, const IntVarArgs &machine, const IntVarArgs &start, const IntArgs &duration, const IntVarArgs &end, const IntVarArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagators for the cumulatives constraint. | |
void | Gecode::cumulatives (Space *home, const IntArgs &machine, const IntVarArgs &start, const IntArgs &duration, const IntVarArgs &end, const IntVarArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagators for the cumulatives constraint. | |
void | Gecode::cumulatives (Space *home, const IntVarArgs &machine, const IntVarArgs &start, const IntVarArgs &duration, const IntVarArgs &end, const IntArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagators for the cumulatives constraint. | |
void | Gecode::cumulatives (Space *home, const IntArgs &machine, const IntVarArgs &start, const IntVarArgs &duration, const IntVarArgs &end, const IntArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagators for the cumulatives constraint. | |
void | Gecode::cumulatives (Space *home, const IntVarArgs &machine, const IntVarArgs &start, const IntArgs &duration, const IntVarArgs &end, const IntArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagators for the cumulatives constraint. | |
void | Gecode::cumulatives (Space *home, const IntArgs &machine, const IntVarArgs &start, const IntArgs &duration, const IntVarArgs &end, const IntArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagators for the cumulatives constraint. | |
void | Gecode::sorted (Space *home, const IntVarArgs &x, const IntVarArgs &y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator that y is x sorted in increasing order. | |
void | Gecode::sorted (Space *, const IntVarArgs &x, const IntVarArgs &y, const IntVarArgs &z, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator that y is x sorted in increasing order. | |
void | Gecode::count (Space *home, const IntVarArgs &x, int n, IntRelType r, int m, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::count (Space *home, const IntVarArgs &x, IntVar y, IntRelType r, int m, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::count (Space *home, const IntVarArgs &x, const IntArgs &y, IntRelType r, int m, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::count (Space *home, const IntVarArgs &x, int n, IntRelType r, IntVar z, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::count (Space *home, const IntVarArgs &x, IntVar y, IntRelType r, IntVar z, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::count (Space *home, const IntVarArgs &x, const IntArgs &y, IntRelType r, IntVar z, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::count (Space *home, const IntVarArgs &x, const IntVarArgs &c, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Posts a global count (cardinality) constraint. | |
void | Gecode::count (Space *home, const IntVarArgs &x, const IntSetArgs &c, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Posts a global count (cardinality) constraint. | |
void | Gecode::count (Space *home, const IntVarArgs &x, const IntVarArgs &c, const IntArgs &v, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Posts a global count (cardinality) constraint. | |
void | Gecode::count (Space *home, const IntVarArgs &x, const IntSetArgs &c, const IntArgs &v, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Posts a global count (cardinality) constraint. | |
void | Gecode::count (Space *home, const IntVarArgs &x, const IntSet &c, const IntArgs &v, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Posts a global count (cardinality) constraint. | |
void | Gecode::extensional (Space *home, const IntVarArgs &x, DFA d, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for extensional constraint described by a DFA. | |
void | Gecode::extensional (Space *home, const IntVarArgs &x, const TupleSet &t, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::min (Space *home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::min (Space *home, const IntVarArgs &x, IntVar y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::max (Space *home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::max (Space *home, const IntVarArgs &x, IntVar y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::abs (Space *home, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::mult (Space *home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::sqr (Space *home, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::sqrt (Space *home, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::divmod (Space *home, IntVar x0, IntVar x1, IntVar x2, IntVar x3, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::div (Space *home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::mod (Space *home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::linear (Space *home, const IntVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::linear (Space *home, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::linear (Space *home, const IntVarArgs &x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::linear (Space *home, const IntVarArgs &x, IntRelType r, IntVar y, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::linear (Space *home, const IntArgs &a, const IntVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::linear (Space *home, const IntArgs &a, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::linear (Space *home, const IntArgs &a, const IntVarArgs &x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::linear (Space *home, const IntArgs &a, const IntVarArgs &x, IntRelType r, IntVar y, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Post propagator for . | |
void | Gecode::unshare (Space *home, IntVarArgs &x, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF) |
Replace multiple variable occurences in x by fresh variables. | |
void | Gecode::branch (Space *home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals) |
Branch over x with variable selection vars and value selection vals. | |
void | Gecode::assign (Space *home, const IntVarArgs &x, IntAssign vals) |
Assign all x with value selection vals. | |
Variables | |
const int | Gecode::Int::Limits::max = INT_MAX - 1 |
Largest allowed integer value. | |
const int | Gecode::Int::Limits::min = -max |
Smallest allowed integer value. |
Define Documentation
#define GECODE_INT_EXPORT __attribute__ ((visibility("default"))) |