Generated on Sat Feb 7 2015 02:01:42 for Gecode by doxygen 1.8.9.1
Gecode::FlatZinc Namespace Reference

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< IntVarBranchann2ivarsel (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< FloatVarBranchann2fvarsel (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...
 
Registryregistry (void)
 Return global registry object. More...
 
GECODE_FLATZINC_EXPORT FlatZincSpaceparse (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 FlatZincSpaceparse (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...
 

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

Definition at line 73 of file parser.hh.

typedef std::pair<std::string, VarSpec*> Gecode::FlatZinc::varspec

Definition at line 75 of file parser.hh.

Enumeration Type Documentation

Types of symbols.

Enumerator
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 

Definition at line 89 of file parser.hh.

Function Documentation

template<class Var >
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.

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 864 of file flatzinc.cpp.

SymbolEntry Gecode::FlatZinc::se_iv ( int  i)
inline

Construct integer variable entry.

Definition at line 120 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_bv ( int  i)
inline

Construct Boolean variable entry.

Definition at line 124 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_fv ( int  i)
inline

Construct float variable entry.

Definition at line 128 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_sv ( int  i)
inline

Construct set variable entry.

Definition at line 132 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_iva ( int  i)
inline

Construct integer variable array entry.

Definition at line 137 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_bva ( int  i)
inline

Construct Boolean variable array entry.

Definition at line 141 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_fva ( int  i)
inline

Construct float variable array entry.

Definition at line 145 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_sva ( int  i)
inline

Construct set variable array entry.

Definition at line 149 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_i ( int  i)
inline

Construct integer entry.

Definition at line 154 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_b ( bool  b)
inline

Construct Boolean entry.

Definition at line 158 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_s ( int  i)
inline

Construct set entry.

Definition at line 162 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_f ( int  i)
inline

Construct float entry.

Definition at line 166 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_ia ( int  i)
inline

Construct integer array entry.

Definition at line 171 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_ba ( int  i)
inline

Construct Boolean array entry.

Definition at line 175 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_sa ( int  i)
inline

Construct set array entry.

Definition at line 179 of file parser.hh.

SymbolEntry Gecode::FlatZinc::se_fa ( int  i)
inline

Construct float array entry.

Definition at line 183 of file parser.hh.

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.