
Interpreter for the FlatZinc language. More...
Namespaces | |
| AST | |
| Abstract syntax trees for the FlatZinc interpreter. | |
Classes | |
| class | Alias |
| Alias for a variable specification More... | |
| class | AuxVarBrancher |
| Branching on the introduced variables. More... | |
| class | BoolVarSpec |
| Specification for Boolean variables. More... | |
| class | BranchInformation |
| class | BranchInformationO |
| class | ConExpr |
| Abstract representation of a constraint. More... | |
| class | Error |
| Exception class for FlatZinc errors More... | |
| class | FlatZincOptions |
| Options for running FlatZinc models More... | |
| class | FlatZincSpace |
| A space that can be initialized with a FlatZinc model. More... | |
| class | FloatVarSpec |
| Specification for floating point variables. More... | |
| class | FznRnd |
| A thread-safe random number generator. More... | |
| class | IntVarSpec |
| Specification for integer variables. More... | |
| struct | Option |
| Optional value. More... | |
| class | OutputOrder |
| Strict weak ordering for output items. More... | |
| class | ParserState |
| State of the FlatZinc parser More... | |
| class | Printer |
| Output support class for FlatZinc interpreter. More... | |
| class | Registry |
| Map from constraint identifier to constraint posting functions. More... | |
| class | SetVarSpec |
| Specification for set variables. More... | |
| class | SymbolEntry |
| Entries in the symbol table. More... | |
| class | SymbolTable |
| Symbol table mapping identifiers (strings) to values. More... | |
| class | VarSpec |
| Base class for variable specifications. More... | |
Typedefs | |
| typedef std::pair< std::string, Option< std::vector< int > * > > | intvartype |
| typedef std::pair< std::string, VarSpec * > | varspec |
Enumerations | |
| enum | SymbolType { ST_INTVAR, ST_BOOLVAR, ST_FLOATVAR, ST_SETVAR, ST_INTVARARRAY, ST_BOOLVARARRAY, ST_SETVARARRAY, ST_FLOATVARARRAY, ST_INTVALARRAY, ST_BOOLVALARRAY, ST_SETVALARRAY, ST_FLOATVALARRAY, ST_INT, ST_BOOL, ST_SET, ST_FLOAT } |
| Types of symbols. More... | |
Functions | |
| template<class Var > | |
| void | varValPrint (const Space &home, const BrancherHandle &bh, unsigned int a, Var, int i, const int &n, std::ostream &o) |
| void | varValPrintF (const Space &home, const BrancherHandle &bh, unsigned int a, FloatVar, int i, const FloatNumBranch &nl, std::ostream &o) |
| IntSet | vs2is (IntVarSpec *vs) |
| int | vs2bsl (BoolVarSpec *bs) |
| int | vs2bsh (BoolVarSpec *bs) |
| TieBreak< IntVarBranch > | ann2ivarsel (AST::Node *ann, Rnd rnd, double decay) |
| IntValBranch | ann2ivalsel (AST::Node *ann, std::string &r0, std::string &r1, Rnd rnd) |
| IntAssign | ann2asnivalsel (AST::Node *ann, Rnd rnd) |
| SetVarBranch | ann2svarsel (AST::Node *ann, Rnd rnd, double decay) |
| SetValBranch | ann2svalsel (AST::Node *ann, std::string r0, std::string r1, Rnd rnd) |
| TieBreak< FloatVarBranch > | ann2fvarsel (AST::Node *ann, Rnd rnd, double decay) |
| FloatValBranch | ann2fvalsel (AST::Node *ann, std::string r0, std::string r1) |
| void | flattenAnnotations (AST::Array *ann, std::vector< AST::Node * > &out) |
| SymbolEntry | se_iv (int i) |
| Construct integer variable entry. More... | |
| SymbolEntry | se_bv (int i) |
| Construct Boolean variable entry. More... | |
| SymbolEntry | se_fv (int i) |
| Construct float variable entry. More... | |
| SymbolEntry | se_sv (int i) |
| Construct set variable entry. More... | |
| SymbolEntry | se_iva (int i) |
| Construct integer variable array entry. More... | |
| SymbolEntry | se_bva (int i) |
| Construct Boolean variable array entry. More... | |
| SymbolEntry | se_fva (int i) |
| Construct float variable array entry. More... | |
| SymbolEntry | se_sva (int i) |
| Construct set variable array entry. More... | |
| SymbolEntry | se_i (int i) |
| Construct integer entry. More... | |
| SymbolEntry | se_b (bool b) |
| Construct Boolean entry. More... | |
| SymbolEntry | se_s (int i) |
| Construct set entry. More... | |
| SymbolEntry | se_f (int i) |
| Construct float entry. More... | |
| SymbolEntry | se_ia (int i) |
| Construct integer array entry. More... | |
| SymbolEntry | se_ba (int i) |
| Construct Boolean array entry. More... | |
| SymbolEntry | se_sa (int i) |
| Construct set array entry. More... | |
| SymbolEntry | se_fa (int i) |
| Construct float array entry. More... | |
| Registry & | registry (void) |
| Return global registry object. More... | |
| GECODE_FLATZINC_EXPORT FlatZincSpace * | parse (const std::string &fileName, Printer &p, std::ostream &err=std::cerr, FlatZincSpace *fzs=NULL, FznRnd *rnd=NULL) |
| Parse FlatZinc file fileName into fzs and return it. More... | |
| GECODE_FLATZINC_EXPORT FlatZincSpace * | parse (std::istream &is, Printer &p, std::ostream &err=std::cerr, FlatZincSpace *fzs=NULL, FznRnd *rnd=NULL) |
| Parse FlatZinc from is into fzs and return it. More... | |
Interpreter for the FlatZinc language.
The Gecode::FlatZinc namespace contains all functionality required to parse and solve constraint models written in the FlatZinc language.
| typedef std::pair<std::string,Option<std::vector<int>* > > Gecode::FlatZinc::intvartype |
| typedef std::pair<std::string, VarSpec*> Gecode::FlatZinc::varspec |
| void Gecode::FlatZinc::varValPrint | ( | const Space & | home, |
| const BrancherHandle & | bh, | ||
| unsigned int | a, | ||
| Var | , | ||
| int | i, | ||
| const int & | n, | ||
| std::ostream & | o | ||
| ) |
Definition at line 304 of file flatzinc.cpp.
| void Gecode::FlatZinc::varValPrintF | ( | const Space & | home, |
| const BrancherHandle & | bh, | ||
| unsigned int | a, | ||
| FloatVar | , | ||
| int | i, | ||
| const FloatNumBranch & | nl, | ||
| std::ostream & | o | ||
| ) |
Definition at line 312 of file flatzinc.cpp.
| IntSet Gecode::FlatZinc::vs2is | ( | IntVarSpec * | vs | ) |
Definition at line 328 of file flatzinc.cpp.
| int Gecode::FlatZinc::vs2bsl | ( | BoolVarSpec * | bs | ) |
Definition at line 348 of file flatzinc.cpp.
| int Gecode::FlatZinc::vs2bsh | ( | BoolVarSpec * | bs | ) |
Definition at line 360 of file flatzinc.cpp.
| TieBreak<IntVarBranch> Gecode::FlatZinc::ann2ivarsel | ( | AST::Node * | ann, |
| Rnd | rnd, | ||
| double | decay | ||
| ) |
Definition at line 372 of file flatzinc.cpp.
| IntValBranch Gecode::FlatZinc::ann2ivalsel | ( | AST::Node * | ann, |
| std::string & | r0, | ||
| std::string & | r1, | ||
| Rnd | rnd | ||
| ) |
Definition at line 421 of file flatzinc.cpp.
Definition at line 472 of file flatzinc.cpp.
| SetVarBranch Gecode::FlatZinc::ann2svarsel | ( | AST::Node * | ann, |
| Rnd | rnd, | ||
| double | decay | ||
| ) |
Definition at line 491 of file flatzinc.cpp.
| SetValBranch Gecode::FlatZinc::ann2svalsel | ( | AST::Node * | ann, |
| std::string | r0, | ||
| std::string | r1, | ||
| Rnd | rnd | ||
| ) |
Definition at line 529 of file flatzinc.cpp.
| TieBreak<FloatVarBranch> Gecode::FlatZinc::ann2fvarsel | ( | AST::Node * | ann, |
| Rnd | rnd, | ||
| double | decay | ||
| ) |
Definition at line 559 of file flatzinc.cpp.
| FloatValBranch Gecode::FlatZinc::ann2fvalsel | ( | AST::Node * | ann, |
| std::string | r0, | ||
| std::string | r1 | ||
| ) |
Definition at line 603 of file flatzinc.cpp.
| void Gecode::FlatZinc::flattenAnnotations | ( | AST::Array * | ann, |
| std::vector< AST::Node * > & | out | ||
| ) |
Definition at line 867 of file flatzinc.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| GECODE_FLATZINC_EXPORT Registry & Gecode::FlatZinc::registry | ( | void | ) |
Return global registry object.
Definition at line 57 of file registry.cpp.
| GECODE_FLATZINC_EXPORT FlatZincSpace* Gecode::FlatZinc::parse | ( | const std::string & | fileName, |
| Printer & | p, | ||
| std::ostream & | err = std::cerr, |
||
| FlatZincSpace * | fzs = NULL, |
||
| FznRnd * | rnd = NULL |
||
| ) |
Parse FlatZinc file fileName into fzs and return it.
Creates a new empty FlatZincSpace if fzs is NULL.
| GECODE_FLATZINC_EXPORT FlatZincSpace* Gecode::FlatZinc::parse | ( | std::istream & | is, |
| Printer & | p, | ||
| std::ostream & | err = std::cerr, |
||
| FlatZincSpace * | fzs = NULL, |
||
| FznRnd * | rnd = NULL |
||
| ) |
Parse FlatZinc from is into fzs and return it.
Creates a new empty FlatZincSpace if fzs is NULL.