Generated on Mon Aug 25 11:35:53 2008 for Gecode by doxygen 1.5.6

Gecode::Reflection::Registry Class Reference
[Reflection API]

List of all members.


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.
VarImpBasecreateVar (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.
VarImpBaseupdateVariable (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.
Argspec (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

The type of constraint posting functions.

The type of variable creation functions.

The type of variable domain constraint functions.

The type of variable update functions.

typedef std::ostream&(* Gecode::Reflection::Registry::varPrinter)(std::ostream &, VarImpBase *)

The type of variable printing functions.

The type of variable reflection functions.


Constructor & Destructor Documentation

Gecode::Reflection::Registry::Registry ( void   ) 

Constructor.

Definition at line 61 of file reflection.cc.

Gecode::Reflection::Registry::~Registry ( void   ) 

Destructor.

Definition at line 63 of file reflection.cc.


Member Function Documentation

VarImpBase * Gecode::Reflection::Registry::createVar ( Space home,
VarSpec spec 
) const

Create a new variable in home from spec and return it.

Definition at line 71 of file reflection.cc.

void Gecode::Reflection::Registry::constrainVar ( Space home,
VarImpBase v,
VarSpec spec 
) const

Constrain v to spec.

Definition at line 80 of file reflection.cc.

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

Print variable v with type identifier vti to os.

Definition at line 99 of file reflection.cc.

Arg * Gecode::Reflection::Registry::spec ( const Space home,
VarMap vm,
VarImpBase v,
const Support::Symbol vti 
) const

Reflection for variable v with type identifier vti.

Definition at line 109 of file reflection.cc.

void Gecode::Reflection::Registry::post ( Space home,
VarMap vm,
const ActorSpec spec 
) 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 
)

Register variable creation function for vti.

Definition at line 128 of file reflection.cc.

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 
)

Register variable print function for vti.

Definition at line 143 of file reflection.cc.

void Gecode::Reflection::Registry::add ( Support::Symbol  vti,
varSpec  vp 
)

Register variable reflection function for vti.

Definition at line 148 of file reflection.cc.

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  ) 

Print list of all registered posters to out.

Definition at line 158 of file reflection.cc.


The documentation for this class was generated from the following files: