Gecode::FlatZinc Namespace Reference
Interpreter for the FlatZinc language. More...
Namespaces | |
namespace | AST |
Abstract syntax trees for the FlatZinc interpreter. | |
Classes | |
class | ConExpr |
Abstract representation of a constraint. More... | |
class | AuxVarBrancher |
Branching on the introduced variables. More... | |
class | BranchInformationO |
struct | Option |
Optional value. More... | |
class | OutputOrder |
Strict weak ordering for output items. More... | |
class | SymbolEntry |
Entries in the symbol table. More... | |
class | ParserState |
State of the FlatZinc parser More... | |
class | Registry |
Map from constraint identifier to constraint posting functions. More... | |
class | SymbolTable |
Symbol table mapping identifiers (strings) to values. More... | |
class | Alias |
Alias for a variable specification More... | |
class | VarSpec |
Base class for variable specifications. More... | |
class | IntVarSpec |
Specification for integer variables. More... | |
class | BoolVarSpec |
Specification for Boolean variables. More... | |
class | FloatVarSpec |
Specification for floating point variables. More... | |
class | SetVarSpec |
Specification for set variables. More... | |
class | Printer |
Output support class for FlatZinc interpreter. More... | |
class | FlatZincOptions |
Options for running FlatZinc models More... | |
class | BranchInformation |
class | FznRnd |
A thread-safe random number generator. More... | |
class | FlatZincSpace |
A space that can be initialized with a FlatZinc model. More... | |
class | Error |
Exception class for FlatZinc errors 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. | |
SymbolEntry | se_bv (int i) |
Construct Boolean variable entry. | |
SymbolEntry | se_fv (int i) |
Construct float variable entry. | |
SymbolEntry | se_sv (int i) |
Construct set variable entry. | |
SymbolEntry | se_iva (int i) |
Construct integer variable array entry. | |
SymbolEntry | se_bva (int i) |
Construct Boolean variable array entry. | |
SymbolEntry | se_fva (int i) |
Construct float variable array entry. | |
SymbolEntry | se_sva (int i) |
Construct set variable array entry. | |
SymbolEntry | se_i (int i) |
Construct integer entry. | |
SymbolEntry | se_b (bool b) |
Construct Boolean entry. | |
SymbolEntry | se_s (int i) |
Construct set entry. | |
SymbolEntry | se_f (int i) |
Construct float entry. | |
SymbolEntry | se_ia (int i) |
Construct integer array entry. | |
SymbolEntry | se_ba (int i) |
Construct Boolean array entry. | |
SymbolEntry | se_sa (int i) |
Construct set array entry. | |
SymbolEntry | se_fa (int i) |
Construct float array entry. | |
Registry & | registry (void) |
Return global registry object. | |
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. | |
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. |
Detailed Description
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 Documentation
typedef std::pair<std::string,Option<std::vector<int>* > > Gecode::FlatZinc::intvartype |
typedef std::pair<std::string, VarSpec*> Gecode::FlatZinc::varspec |
Enumeration Type Documentation
Function Documentation
void Gecode::FlatZinc::varValPrint | ( | const Space & | home, | |
const BrancherHandle & | bh, | |||
unsigned int | a, | |||
Var | , | |||
int | i, | |||
const int & | n, | |||
std::ostream & | o | |||
) | [inline] |
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.
IntAssign Gecode::FlatZinc::ann2asnivalsel | ( | AST::Node * | ann, | |
Rnd | rnd | |||
) |
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.
SymbolEntry Gecode::FlatZinc::se_iv | ( | int | i | ) | [inline] |
SymbolEntry Gecode::FlatZinc::se_bv | ( | int | i | ) | [inline] |
SymbolEntry Gecode::FlatZinc::se_fv | ( | int | i | ) | [inline] |
SymbolEntry Gecode::FlatZinc::se_sv | ( | int | i | ) | [inline] |
SymbolEntry Gecode::FlatZinc::se_iva | ( | int | i | ) | [inline] |
SymbolEntry Gecode::FlatZinc::se_bva | ( | int | i | ) | [inline] |
SymbolEntry Gecode::FlatZinc::se_fva | ( | int | i | ) | [inline] |
SymbolEntry Gecode::FlatZinc::se_sva | ( | int | i | ) | [inline] |
SymbolEntry Gecode::FlatZinc::se_i | ( | int | i | ) | [inline] |
SymbolEntry Gecode::FlatZinc::se_b | ( | bool | b | ) | [inline] |
SymbolEntry Gecode::FlatZinc::se_s | ( | int | i | ) | [inline] |
SymbolEntry Gecode::FlatZinc::se_f | ( | int | i | ) | [inline] |
SymbolEntry Gecode::FlatZinc::se_ia | ( | int | i | ) | [inline] |
SymbolEntry Gecode::FlatZinc::se_ba | ( | int | i | ) | [inline] |
SymbolEntry Gecode::FlatZinc::se_sa | ( | int | i | ) | [inline] |
SymbolEntry Gecode::FlatZinc::se_fa | ( | int | i | ) | [inline] |
GECODE_FLATZINC_EXPORT Registry & Gecode::FlatZinc::registry | ( | void | ) |
Return global registry object.
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.