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)