Gecode::Space Class Reference
Computation spaces. More...
#include <core.hpp>
List of all members.
Classes | |
| class | Branchers |
| Class to iterate over branchers of a space. More... | |
| class | IdlePropagators |
| Class to iterate over idle propagators of a space. More... | |
| class | Propagators |
| Class to iterate over propagators of a space. More... | |
| class | ScheduledPropagators |
| Class to iterate over scheduled propagators of a space. More... | |
Public Member Functions | |
| Space (void) | |
| Default constructor. | |
| Space (Space &s) | |
| Constructor for cloning. | |
| virtual | ~Space (void) |
| Destructor. | |
| virtual Space * | copy (void)=0 |
| Copying member function. | |
| virtual void | constrain (const Space &best) |
| Constrain function for best solution search. | |
| virtual bool | master (const MetaInfo &mi) |
| Master configuration function for meta search engines. | |
| virtual bool | slave (const MetaInfo &mi) |
| Slave configuration function for meta search engines. | |
| SpaceStatus | status (StatusStatistics &stat=unused_status) |
| Query space status. | |
| const Choice * | choice (void) |
| Create new choice for current brancher. | |
| const Choice * | choice (Archive &e) const |
| Create new choice from e. | |
| Space * | clone (CloneStatistics &stat=unused_clone) const |
| Clone space. | |
| void | commit (const Choice &c, unsigned int a, CommitStatistics &stat=unused_commit) |
| Commit choice c for alternative a. | |
| void | trycommit (const Choice &c, unsigned int a, CommitStatistics &stat=unused_commit) |
| If possible, commit choice c for alternative a. | |
| NGL * | ngl (const Choice &c, unsigned int a) |
| Create no-good literal for choice c and alternative a. | |
| void | print (const Choice &c, unsigned int a, std::ostream &o) const |
| Print branch for choice c and alternative a. | |
| void | notice (Actor &a, ActorProperty p, bool duplicate=false) |
| Notice actor property. | |
| void | ignore (Actor &a, ActorProperty p, bool duplicate=false) |
| Ignore actor property. | |
| ExecStatus | ES_SUBSUMED (Propagator &p) |
| ExecStatus | ES_SUBSUMED_DISPOSED (Propagator &p, size_t s) |
| Propagator p is subsumed | |
| ExecStatus | ES_FIX_PARTIAL (Propagator &p, const ModEventDelta &med) |
| Propagator p has computed partial fixpoint | |
| ExecStatus | ES_NOFIX_PARTIAL (Propagator &p, const ModEventDelta &med) |
| Propagator p has not computed partial fixpoint | |
| template<class A > | |
| ExecStatus | ES_FIX_DISPOSE (Council< A > &c, A &a) |
| Advisor a must be disposed | |
| template<class A > | |
| ExecStatus | ES_NOFIX_DISPOSE (Council< A > &c, A &a) |
| Advisor a must be disposed and its propagator must be run | |
| template<class A > | |
| ExecStatus | ES_NOFIX_DISPOSE_FORCE (Council< A > &c, A &a) |
| Advisor a must be disposed and its propagator must be forcefully rescheduled | |
| void | fail (void) |
| Fail space. | |
| bool | failed (void) const |
| Check whether space is failed. | |
| bool | stable (void) const |
| Return if space is stable (at fixpoint or failed). | |
| template<class T > | |
| T * | alloc (long unsigned int n) |
| Allocate block of n objects of type T from space heap. | |
| template<class T > | |
| T * | alloc (long int n) |
| Allocate block of n objects of type T from space heap. | |
| template<class T > | |
| T * | alloc (unsigned int n) |
| Allocate block of n objects of type T from space heap. | |
| template<class T > | |
| T * | alloc (int n) |
| Allocate block of n objects of type T from space heap. | |
| template<class T > | |
| void | free (T *b, long unsigned int n) |
| Delete n objects allocated from space heap starting at b. | |
| template<class T > | |
| void | free (T *b, long int n) |
| Delete n objects allocated from space heap starting at b. | |
| template<class T > | |
| void | free (T *b, unsigned int n) |
| Delete n objects allocated from space heap starting at b. | |
| template<class T > | |
| void | free (T *b, int n) |
| Delete n objects allocated from space heap starting at b. | |
| template<class T > | |
| T * | realloc (T *b, long unsigned int n, long unsigned int m) |
| Reallocate block of n objects starting at b to m objects of type T from the space heap. | |
| template<class T > | |
| T * | realloc (T *b, long int n, long int m) |
| Reallocate block of n objects starting at b to m objects of type T from the space heap. | |
| template<class T > | |
| T * | realloc (T *b, unsigned int n, unsigned int m) |
| Reallocate block of n objects starting at b to m objects of type T from the space heap. | |
| template<class T > | |
| T * | realloc (T *b, int n, int m) |
| Reallocate block of n objects starting at b to m objects of type T from the space heap. | |
| template<class T > | |
| T ** | realloc (T **b, long unsigned int n, long unsigned int m) |
| Reallocate block of n pointers starting at b to m objects of type T* from the space heap. | |
| template<class T > | |
| T ** | realloc (T **b, long int n, long int m) |
| Reallocate block of n pointers starting at b to m objects of type T* from the space heap. | |
| template<class T > | |
| T ** | realloc (T **b, unsigned int n, unsigned int m) |
| Reallocate block of n pointers starting at b to m objects of type T* from the space heap. | |
| template<class T > | |
| T ** | realloc (T **b, int n, int m) |
| Reallocate block of n pointers starting at b to m objects of type T* from the space heap. | |
| void * | ralloc (size_t s) |
| Allocate memory on space heap. | |
| void | rfree (void *p, size_t s) |
| Free memory previously allocated with alloc (might be reused later). | |
| void * | rrealloc (void *b, size_t n, size_t m) |
| Reallocate memory block starting at b from size n to size s. | |
| template<size_t > | |
| void * | fl_alloc (void) |
| Allocate from freelist-managed memory. | |
| template<size_t > | |
| void | fl_dispose (FreeList *f, FreeList *l) |
| Return freelist-managed memory to freelist. | |
Friends | |
| void | trace (Home home, TraceFilter tf, int te, Tracer &t) |
| Create tracer. | |
Conversion from Space to Home | |
|
| |
| Home | operator() (Propagator &p) |
| Return a home for this space with the information that p is being rewritten. | |
| Home | operator() (PropagatorGroup pg) |
| Return a home for this space with propagator group information pg. | |
| Home | operator() (BrancherGroup bg) |
| Return a home for this space with brancher group information bg. | |
|
| |
| template<class T > | |
| T & | construct (void) |
| Construction routines. | |
| template<class T , typename A1 > | |
| T & | construct (A1 const &a1) |
| Constructs a single object of type T from space heap using a unary constructor. | |
| template<class T , typename A1 , typename A2 > | |
| T & | construct (A1 const &a1, A2 const &a2) |
| Constructs a single object of type T from space heap using a binary constructor. | |
| template<class T , typename A1 , typename A2 , typename A3 > | |
| T & | construct (A1 const &a1, A2 const &a2, A3 const &a3) |
| Constructs a single object of type T from space heap using a ternary constructor. | |
| template<class T , typename A1 , typename A2 , typename A3 , typename A4 > | |
| T & | construct (A1 const &a1, A2 const &a2, A3 const &a3, A4 const &a4) |
| Constructs a single object of type T from space heap using a quaternary constructor. | |
| template<class T , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 > | |
| T & | construct (A1 const &a1, A2 const &a2, A3 const &a3, A4 const &a4, A5 const &a5) |
| Constructs a single object of type T from space heap using a quinary constructor. | |
Low-level support for AFC | |
|
| |
| void | afc_decay (double d) |
| Set AFC decay factor to d | |
| double | afc_decay (void) const |
| Return AFC decay factor. | |
| void | afc_unshare (void) |
| Unshare AFC information for all propagators. | |
Detailed Description
Computation spaces.
Definition at line 1742 of file core.hpp.
Member Function Documentation
| Home Gecode::Space::operator() | ( | Propagator & | p | ) | [inline] |
Return a home for this space with the information that p is being rewritten.
Definition at line 3287 of file core.hpp.
| Home Gecode::Space::operator() | ( | PropagatorGroup | pg | ) | [inline] |
Return a home for this space with propagator group information pg.
Definition at line 3291 of file core.hpp.
| Home Gecode::Space::operator() | ( | BrancherGroup | bg | ) | [inline] |
Return a home for this space with brancher group information bg.
Definition at line 3295 of file core.hpp.
| T & Gecode::Space::construct | ( | void | ) | [inline] |
Construction routines.
Constructs a single object of type T from space heap using the default constructor.
Definition at line 5108 of file core.hpp.
| T & Gecode::Space::construct | ( | A1 const & | a1 | ) | [inline] |
Constructs a single object of type T from space heap using a unary constructor.
The parameter is passed as a const reference.
Definition at line 5113 of file core.hpp.
| T & Gecode::Space::construct | ( | A1 const & | a1, | |
| A2 const & | a2 | |||
| ) | [inline] |
Constructs a single object of type T from space heap using a binary constructor.
The parameters are passed as const references.
Definition at line 5120 of file core.hpp.
| T & Gecode::Space::construct | ( | A1 const & | a1, | |
| A2 const & | a2, | |||
| A3 const & | a3 | |||
| ) | [inline] |
Constructs a single object of type T from space heap using a ternary constructor.
The parameters are passed as const references.
Definition at line 5127 of file core.hpp.
| T & Gecode::Space::construct | ( | A1 const & | a1, | |
| A2 const & | a2, | |||
| A3 const & | a3, | |||
| A4 const & | a4 | |||
| ) | [inline] |
Constructs a single object of type T from space heap using a quaternary constructor.
The parameters are passed as const references.
Definition at line 5134 of file core.hpp.
| T & Gecode::Space::construct | ( | A1 const & | a1, | |
| A2 const & | a2, | |||
| A3 const & | a3, | |||
| A4 const & | a4, | |||
| A5 const & | a5 | |||
| ) | [inline] |
Constructs a single object of type T from space heap using a quinary constructor.
The parameters are passed as const references.
Definition at line 5141 of file core.hpp.
| void Gecode::Space::afc_decay | ( | double | d | ) | [inline] |
Set AFC decay factor to d
Definition at line 3247 of file core.hpp.
| double Gecode::Space::afc_decay | ( | void | ) | const [inline] |
Return AFC decay factor.
Definition at line 3242 of file core.hpp.
| void Gecode::Space::afc_unshare | ( | void | ) |
Unshare AFC information for all propagators.
Definition at line 869 of file core.cpp.
Friends And Related Function Documentation
| void trace | ( | Home | home, | |
| TraceFilter | tf, | |||
| int | te, | |||
| Tracer & | t | |||
| ) | [friend] |
Create tracer.
Member Data Documentation
| ActorLink* Gecode::Space::active |
Cost level with next propagator to be executed.
This maintains the following invariant (but only if the space does not perform propagation):
- If active points to a queue, this queue might contain a propagator. However, there will be at least one queue containing a propagator.
- Otherwise, active is smaller than the first queue or larger than the last queue. Then, the space is stable.
- If active is larger than the last queue, the space is failed.
Definition at line 1830 of file core.hpp.
| ActorLink Gecode::Space::queue[PropCost::AC_MAX+1] |
Scheduled propagators according to cost.
Definition at line 1832 of file core.hpp.
| unsigned int Gecode::Space::bid_sc |
Id of next brancher to be created plus status control.
The last two bits are reserved for status control.
Definition at line 1839 of file core.hpp.
| unsigned int Gecode::Space::n_sub |
Number of subscriptions.
Definition at line 1841 of file core.hpp.
View trace information.
Definition at line 1843 of file core.hpp.
| struct { ... } Gecode::Space::p |
Data only available during propagation or branching.
| VarImpBase* Gecode::Space::vars_u[AllVarConf::idx_c] |
Entries for updating variables.
Definition at line 1848 of file core.hpp.
| VarImpBase* Gecode::Space::vars_noidx |
Keep variables during copying without index structure.
Definition at line 1850 of file core.hpp.
| LocalObject* Gecode::Space::local |
Linked list of local objects.
Definition at line 1852 of file core.hpp.
| struct { ... } Gecode::Space::c |
Data available only during copying.
The documentation for this class was generated from the following files:
- gecode/kernel/core.hpp
- gecode/kernel/core.cpp
- gecode/kernel/var-imp.hpp
