Gecode::Reflection::Registry Class Reference
[Reflection API]
Detailed Description
Registry of constraint posting and variable creation functions.Definition at line 541 of file reflection.icc.
Public Types | |
| typedef void(* | poster )(Space *, VarMap &, const ActorSpec &) |
| The type of constraint posting functions. | |
| typedef VarImpBase *(* | varCreator )(Space *, VarSpec &) |
| The type of variable creation functions. | |
| typedef void(* | varConstrainer )(Space *, VarImpBase *, VarSpec &) |
| The type of variable domain constraint functions. | |
| typedef VarImpBase *(* | varUpdater )(Space *, bool, VarImpBase *) |
| The type of variable update functions. | |
| typedef std::ostream &(* | varPrinter )(std::ostream &, VarImpBase *) |
| The type of variable printing functions. | |
| typedef Arg *(* | varSpec )(const Space *home, VarMap &m, VarImpBase *) |
| The type of variable reflection functions. | |
Public Member Functions | |
| Registry (void) | |
| Constructor. | |
| ~Registry (void) | |
| Destructor. | |
| VarImpBase * | createVar (Space *home, VarSpec &spec) const |
| Create a new variable in home from spec and return it. | |
| void | constrainVar (Space *home, VarImpBase *v, VarSpec &spec) const |
| Constrain v to spec. | |
| VarImpBase * | updateVariable (Space *home, bool share, VarImpBase *v, const Support::Symbol &vti) const |
| Update variable v with type identifier vti during cloning. | |
| std::ostream & | printVariable (std::ostream &os, VarImpBase *v, const Support::Symbol &vti) const |
| Print variable v with type identifier vti to os. | |
| Arg * | spec (const Space *home, VarMap &vm, VarImpBase *v, const Support::Symbol &vti) const |
| Reflection for variable v with type identifier vti. | |
| void | post (Space *home, VarMap &vm, const ActorSpec &spec) const |
| Post constraint in home for spec using variables vars. | |
| void | add (Support::Symbol vti, varCreator vc) |
| Register variable creation function for vti. | |
| void | add (Support::Symbol vti, varConstrainer vc) |
| Register variable domain constraining function for vti. | |
| void | add (Support::Symbol vti, varUpdater vu) |
| Register variable update function for vti. | |
| void | add (Support::Symbol vti, varPrinter vp) |
| Register variable print function for vti. | |
| void | add (Support::Symbol vti, varSpec vp) |
| Register variable reflection function for vti. | |
| void | add (const Support::Symbol &ati, poster p) |
| Register constraint posting function for actor type identifier ati. | |
| void | print (std::ostream &out) |
| Print list of all registered posters to out. | |
Classes | |
| class | RegistryObject |
| The actual registry, holding SymbolMap objects. More... | |
Member Typedef Documentation
| typedef void(* Gecode::Reflection::Registry::poster)(Space *, VarMap &, const ActorSpec &) |
The type of constraint posting functions.
| typedef VarImpBase*(* Gecode::Reflection::Registry::varCreator)(Space *, VarSpec &) |
The type of variable creation functions.
| typedef void(* Gecode::Reflection::Registry::varConstrainer)(Space *, VarImpBase *, VarSpec &) |
The type of variable domain constraint functions.
| typedef VarImpBase*(* Gecode::Reflection::Registry::varUpdater)(Space *, bool, VarImpBase *) |
The type of variable update functions.
| typedef std::ostream&(* Gecode::Reflection::Registry::varPrinter)(std::ostream &, VarImpBase *) |
The type of variable printing functions.
| typedef Arg*(* Gecode::Reflection::Registry::varSpec)(const Space *home, VarMap &m, VarImpBase *) |
The type of variable reflection functions.
Constructor & Destructor Documentation
| Gecode::Reflection::Registry::Registry | ( | void | ) |
| Gecode::Reflection::Registry::~Registry | ( | void | ) |
Member Function Documentation
| VarImpBase * Gecode::Reflection::Registry::createVar | ( | Space * | home, | |
| VarSpec & | spec | |||
| ) | const |
| void Gecode::Reflection::Registry::constrainVar | ( | Space * | home, | |
| VarImpBase * | v, | |||
| VarSpec & | spec | |||
| ) | const |
| VarImpBase * Gecode::Reflection::Registry::updateVariable | ( | Space * | home, | |
| bool | share, | |||
| VarImpBase * | v, | |||
| const Support::Symbol & | vti | |||
| ) | const |
Update variable v with type identifier vti during cloning.
Definition at line 89 of file reflection.cc.
| std::ostream & Gecode::Reflection::Registry::printVariable | ( | std::ostream & | os, | |
| VarImpBase * | v, | |||
| const Support::Symbol & | vti | |||
| ) | const |
| Arg * Gecode::Reflection::Registry::spec | ( | const Space * | home, | |
| VarMap & | vm, | |||
| VarImpBase * | v, | |||
| const Support::Symbol & | vti | |||
| ) | const |
Post constraint in home for spec using variables vars.
Definition at line 119 of file reflection.cc.
| void Gecode::Reflection::Registry::add | ( | Support::Symbol | vti, | |
| varCreator | vc | |||
| ) |
| void Gecode::Reflection::Registry::add | ( | Support::Symbol | vti, | |
| varConstrainer | vc | |||
| ) |
Register variable domain constraining function for vti.
Definition at line 133 of file reflection.cc.
| void Gecode::Reflection::Registry::add | ( | Support::Symbol | vti, | |
| varUpdater | vu | |||
| ) |
Register variable update function for vti.
| void Gecode::Reflection::Registry::add | ( | Support::Symbol | vti, | |
| varPrinter | vp | |||
| ) |
| void Gecode::Reflection::Registry::add | ( | Support::Symbol | vti, | |
| varSpec | vp | |||
| ) |
| void Gecode::Reflection::Registry::add | ( | const Support::Symbol & | ati, | |
| poster | p | |||
| ) |
Register constraint posting function for actor type identifier ati.
Definition at line 153 of file reflection.cc.
| void Gecode::Reflection::Registry::print | ( | std::ostream & | out | ) |
The documentation for this class was generated from the following files:
- gecode/kernel/reflection.icc (Revision: 7297)
- gecode/kernel/reflection.cc (Revision: 7297)
