Generated on Sat Jul 28 2018 17:25:12 for Gecode by doxygen 1.8.14
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  FZPrintingComparator
 
class  FZPrintingInspector
 An inspector for printing simple text output. More...
 
class  GistEngine
 Traits class for search engines. More...
 
class  GistEngine< BAB< S > >
 Specialization for BAB. More...
 
class  GistEngine< DFS< S > >
 Specialization for DFS. 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 Brancher &b, unsigned int a, Var, int i, const int &n, std::ostream &o)
 
void varValPrintF (const Space &home, const Brancher &b, 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)
 
TieBreak< BoolVarBranchann2bvarsel (AST::Node *ann, Rnd rnd, double decay)
 
BoolValBranch ann2bvalsel (AST::Node *ann, std::string &r0, std::string &r1, Rnd rnd)
 
BoolAssign ann2asnbvalsel (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

◆ intvartype

typedef std::pair<std::string,Option<std::vector<int>* > > Gecode::FlatZinc::intvartype

Definition at line 73 of file parser.hh.

◆ varspec

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

Definition at line 75 of file parser.hh.

Enumeration Type Documentation

◆ SymbolType

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

◆ varValPrint()

template<class Var >
void Gecode::FlatZinc::varValPrint ( const Space home,
const Brancher b,
unsigned int  a,
Var  ,
int  i,
const int &  n,
std::ostream &  o 
)

Definition at line 305 of file flatzinc.cpp.

◆ varValPrintF()

void Gecode::FlatZinc::varValPrintF ( const Space home,
const Brancher b,
unsigned int  a,
FloatVar  ,
int  i,
const FloatNumBranch nl,
std::ostream &  o 
)

Definition at line 313 of file flatzinc.cpp.

◆ vs2is()

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

Definition at line 329 of file flatzinc.cpp.

◆ vs2bsl()

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

Definition at line 349 of file flatzinc.cpp.

◆ vs2bsh()

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

Definition at line 361 of file flatzinc.cpp.

◆ ann2ivarsel()

TieBreak<IntVarBranch> Gecode::FlatZinc::ann2ivarsel ( AST::Node ann,
Rnd  rnd,
double  decay 
)

Definition at line 373 of file flatzinc.cpp.

◆ ann2ivalsel()

IntValBranch Gecode::FlatZinc::ann2ivalsel ( AST::Node ann,
std::string &  r0,
std::string &  r1,
Rnd  rnd 
)

Definition at line 422 of file flatzinc.cpp.

◆ ann2asnivalsel()

IntAssign Gecode::FlatZinc::ann2asnivalsel ( AST::Node ann,
Rnd  rnd 
)

Definition at line 473 of file flatzinc.cpp.

◆ ann2bvarsel()

TieBreak<BoolVarBranch> Gecode::FlatZinc::ann2bvarsel ( AST::Node ann,
Rnd  rnd,
double  decay 
)

Definition at line 491 of file flatzinc.cpp.

◆ ann2bvalsel()

BoolValBranch Gecode::FlatZinc::ann2bvalsel ( AST::Node ann,
std::string &  r0,
std::string &  r1,
Rnd  rnd 
)

Definition at line 525 of file flatzinc.cpp.

◆ ann2asnbvalsel()

BoolAssign Gecode::FlatZinc::ann2asnbvalsel ( AST::Node ann,
Rnd  rnd 
)

Definition at line 576 of file flatzinc.cpp.

◆ ann2svarsel()

SetVarBranch Gecode::FlatZinc::ann2svarsel ( AST::Node ann,
Rnd  rnd,
double  decay 
)

Definition at line 594 of file flatzinc.cpp.

◆ ann2svalsel()

SetValBranch Gecode::FlatZinc::ann2svalsel ( AST::Node ann,
std::string  r0,
std::string  r1,
Rnd  rnd 
)

Definition at line 632 of file flatzinc.cpp.

◆ ann2fvarsel()

TieBreak<FloatVarBranch> Gecode::FlatZinc::ann2fvarsel ( AST::Node ann,
Rnd  rnd,
double  decay 
)

Definition at line 662 of file flatzinc.cpp.

◆ ann2fvalsel()

FloatValBranch Gecode::FlatZinc::ann2fvalsel ( AST::Node ann,
std::string  r0,
std::string  r1 
)

Definition at line 706 of file flatzinc.cpp.

◆ flattenAnnotations()

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

Definition at line 972 of file flatzinc.cpp.

◆ se_iv()

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

Construct integer variable entry.

Definition at line 120 of file parser.hh.

◆ se_bv()

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

Construct Boolean variable entry.

Definition at line 124 of file parser.hh.

◆ se_fv()

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

Construct float variable entry.

Definition at line 128 of file parser.hh.

◆ se_sv()

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

Construct set variable entry.

Definition at line 132 of file parser.hh.

◆ se_iva()

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

Construct integer variable array entry.

Definition at line 137 of file parser.hh.

◆ se_bva()

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

Construct Boolean variable array entry.

Definition at line 141 of file parser.hh.

◆ se_fva()

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

Construct float variable array entry.

Definition at line 145 of file parser.hh.

◆ se_sva()

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

Construct set variable array entry.

Definition at line 149 of file parser.hh.

◆ se_i()

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

Construct integer entry.

Definition at line 154 of file parser.hh.

◆ se_b()

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

Construct Boolean entry.

Definition at line 158 of file parser.hh.

◆ se_s()

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

Construct set entry.

Definition at line 162 of file parser.hh.

◆ se_f()

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

Construct float entry.

Definition at line 166 of file parser.hh.

◆ se_ia()

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

Construct integer array entry.

Definition at line 171 of file parser.hh.

◆ se_ba()

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

Construct Boolean array entry.

Definition at line 175 of file parser.hh.

◆ se_sa()

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

Construct set array entry.

Definition at line 179 of file parser.hh.

◆ se_fa()

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

Construct float array entry.

Definition at line 183 of file parser.hh.

◆ registry()

GECODE_FLATZINC_EXPORT Registry & Gecode::FlatZinc::registry ( void  )

Return global registry object.

Definition at line 57 of file registry.cpp.

◆ parse() [1/2]

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.

◆ parse() [2/2]

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.