Generated on Sat May 25 2013 18:00:46 for Gecode by doxygen 1.8.3.1
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...
 
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  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

IntSet vs2is (IntVarSpec *vs)
 
int vs2bsl (BoolVarSpec *bs)
 
int vs2bsh (BoolVarSpec *bs)
 
TieBreak< IntVarBranchann2ivarsel (AST::Node *ann, int seed, double decay)
 
IntValBranch ann2ivalsel (AST::Node *ann, int seed)
 
IntAssign ann2asnivalsel (AST::Node *ann, int seed)
 
SetVarBranch ann2svarsel (AST::Node *ann, int seed, double decay)
 
SetValBranch ann2svalsel (AST::Node *ann, int seed)
 
TieBreak< FloatVarBranchann2fvarsel (AST::Node *ann, int seed, double decay)
 
FloatValBranch ann2fvalsel (AST::Node *ann)
 
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
FlatZincSpace
parse (const std::string &fileName, Printer &p, std::ostream &err=std::cerr, FlatZincSpace *fzs=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)
 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

IntSet Gecode::FlatZinc::vs2is ( IntVarSpec *  vs)

Definition at line 162 of file flatzinc.cpp.

int Gecode::FlatZinc::vs2bsl ( BoolVarSpec *  bs)

Definition at line 182 of file flatzinc.cpp.

int Gecode::FlatZinc::vs2bsh ( BoolVarSpec *  bs)

Definition at line 194 of file flatzinc.cpp.

TieBreak<IntVarBranch> Gecode::FlatZinc::ann2ivarsel ( AST::Node *  ann,
int  seed,
double  decay 
)

Definition at line 206 of file flatzinc.cpp.

IntValBranch Gecode::FlatZinc::ann2ivalsel ( AST::Node *  ann,
int  seed 
)

Definition at line 253 of file flatzinc.cpp.

IntAssign Gecode::FlatZinc::ann2asnivalsel ( AST::Node *  ann,
int  seed 
)

Definition at line 288 of file flatzinc.cpp.

SetVarBranch Gecode::FlatZinc::ann2svarsel ( AST::Node *  ann,
int  seed,
double  decay 
)

Definition at line 308 of file flatzinc.cpp.

SetValBranch Gecode::FlatZinc::ann2svalsel ( AST::Node *  ann,
int  seed 
)

Definition at line 344 of file flatzinc.cpp.

TieBreak<FloatVarBranch> Gecode::FlatZinc::ann2fvarsel ( AST::Node *  ann,
int  seed,
double  decay 
)

Definition at line 364 of file flatzinc.cpp.

FloatValBranch Gecode::FlatZinc::ann2fvalsel ( AST::Node *  ann)

Definition at line 408 of file flatzinc.cpp.

void Gecode::FlatZinc::flattenAnnotations ( AST::Array *  ann,
std::vector< AST::Node * > &  out 
)

Definition at line 640 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 
)

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 
)

Parse FlatZinc from is into fzs and return it.

Creates a new empty FlatZincSpace if fzs is NULL.