Programming search engines
[Functionality by programming task]
Collaboration diagram for Programming search engines:
Enumerations | |
enum | Gecode::SpaceStatus { Gecode::SS_FAILED, Gecode::SS_SOLVED, Gecode::SS_BRANCH } |
Space status More... | |
Functions | |
SpaceStatus | Gecode::Space::status (unsigned int &a, unsigned long int &pn=unused) |
Query space status. | |
Space * | Gecode::Space::clone (bool share=true, unsigned long int &pn=unused) |
Clone space. | |
void | Gecode::Space::commit (unsigned int a, BranchingDesc *d=NULL, unsigned long int &pn=unused) |
Commit space to alternative. | |
BranchingDesc * | Gecode::Space::description (void) const |
Get branching description for current branching. | |
void | Gecode::Space::flush (void) |
Flush cache datastructures in actors. |
Enumeration Type Documentation
|
Space status
|
Function Documentation
|
Query space status. Propagates the space until fixpoint or failure and increments pn by the number of propagator executions.
|
|
Clone space. Propagates the space until fixpoint and increments pn by the number of propagator executions. If propagation results in a failed space, an exception of type SpaceFailed is thrown. Otherwise, a clone of the space is returned. If shared is true, all shared datastructures are shared among the clone on the original space. If shared is false, independent copies of the shared datastructures must be created. This means that a clone with no sharing can be used in a different thread without any interaction with the original space. |
|
Commit space to alternative. Computes according to whether a branching description d is passed (d == NULL means no branching description).
Committing throws the following exceptions:
|
|
Get branching description for current branching. If applied to a space with no current branching, the system will crash. |
|
Flush cache datastructures in actors. Flushes caches of actors in the space. This is useful to free memory (in particular when considering a space to be stored for later use such as during search). Even better is to make a clone of the space. |