Space that requires propagation and has solutions. More...
Public Member Functions | |
void | branch (const IntVarArgs &x, HowToBranch htb) |
Branch on x according to htb. More... | |
HasSolutions (HowToBranch _htb1, HowToBranch _htb2, HowToBranch _htb3, HowToConstrain _htc=HTC_NONE) | |
Constructor for space creation. More... | |
HasSolutions (bool share, HasSolutions &s) | |
Constructor for cloning s. More... | |
virtual Space * | copy (bool share) |
Copy during cloning. More... | |
virtual void | constrain (const Space &_s) |
Add constraint for next better solution. More... | |
virtual int | solutions (void) const |
Return number of solutions. More... | |
virtual bool | best (void) const |
Verify that this is best solution. More... | |
virtual void | master (unsigned long int i, const Space *_s) |
Rule out that solution is found more than once during restarts. More... | |
![]() | |
TestSpace (void) | |
Constructor for space creation. More... | |
TestSpace (bool share, TestSpace &s) | |
Constructor for cloning s. More... | |
![]() | |
Space (void) | |
Default constructor. More... | |
virtual | ~Space (void) |
Destructor. More... | |
Space (bool share, Space &s) | |
Constructor for cloning. More... | |
virtual void | slave (unsigned long int i, const Space *s) |
Slave configuration function for restart meta search engine. More... | |
SpaceStatus | status (StatusStatistics &stat=unused_status) |
Query space status. More... | |
const Choice * | choice (void) |
Create new choice for current brancher. More... | |
const Choice * | choice (Archive &e) const |
Create new choice from e. More... | |
Space * | clone (bool share=true, CloneStatistics &stat=unused_clone) const |
Clone space. More... | |
void | commit (const Choice &c, unsigned int a, CommitStatistics &stat=unused_commit) |
Commit choice c for alternative a. More... | |
void | notice (Actor &a, ActorProperty p) |
Notice actor property. More... | |
void | ignore (Actor &a, ActorProperty p) |
Ignore actor property. More... | |
ExecStatus | ES_SUBSUMED (Propagator &p) |
Propagator p is subsumed More... | |
ExecStatus | ES_SUBSUMED_DISPOSED (Propagator &p, size_t s) |
Propagator p is subsumed More... | |
ExecStatus | ES_FIX_PARTIAL (Propagator &p, const ModEventDelta &med) |
Propagator p has computed partial fixpoint More... | |
ExecStatus | ES_NOFIX_PARTIAL (Propagator &p, const ModEventDelta &med) |
Propagator p has not computed partial fixpoint More... | |
template<class A > | |
ExecStatus | ES_FIX_DISPOSE (Council< A > &c, A &a) |
Advisor a must be disposed More... | |
template<class A > | |
ExecStatus | ES_NOFIX_DISPOSE (Council< A > &c, A &a) |
Advisor a must be disposed and its propagator must be run More... | |
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 More... | |
void | fail (void) |
Fail space. More... | |
bool | failed (void) const |
Check whether space is failed. More... | |
bool | stable (void) const |
Return if space is stable (at fixpoint or failed) More... | |
unsigned int | propagators (void) const |
Return number of propagators. More... | |
unsigned int | branchers (void) const |
Return number of branchers. More... | |
template<class T > | |
T * | alloc (long unsigned int n) |
Allocate block of n objects of type T from space heap. More... | |
template<class T > | |
T * | alloc (long int n) |
Allocate block of n objects of type T from space heap. More... | |
template<class T > | |
T * | alloc (unsigned int n) |
Allocate block of n objects of type T from space heap. More... | |
template<class T > | |
T * | alloc (int n) |
Allocate block of n objects of type T from space heap. More... | |
template<class T > | |
void | free (T *b, long unsigned int n) |
Delete n objects allocated from space heap starting at b. More... | |
template<class T > | |
void | free (T *b, long int n) |
Delete n objects allocated from space heap starting at b. More... | |
template<class T > | |
void | free (T *b, unsigned int n) |
Delete n objects allocated from space heap starting at b. More... | |
template<class T > | |
void | free (T *b, int n) |
Delete n objects allocated from space heap starting at b. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
void * | ralloc (size_t s) |
Allocate memory on space heap. More... | |
void | rfree (void *p, size_t s) |
Free memory previously allocated with alloc (might be reused later) More... | |
void * | rrealloc (void *b, size_t n, size_t m) |
Reallocate memory block starting at b from size n to size s. More... | |
template<size_t > | |
void * | fl_alloc (void) |
Allocate from freelist-managed memory. More... | |
template<size_t > | |
void | fl_dispose (FreeList *f, FreeList *l) |
Return freelist-managed memory to freelist. More... | |
size_t | allocated (void) const |
Return how much heap memory is allocated. More... | |
void | flush (void) |
Flush cached memory blocks. More... | |
Home | operator() (Propagator &p) |
Return a home for this space with the information that p is being rewritten. More... | |
template<class T > | |
T & | construct (void) |
Construction routines. More... | |
template<class T , typename A1 > | |
T & | construct (A1 const &a1) |
Constructs a single object of type T from space heap using a unary constructor. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
Static Public Member Functions | |
static std::string | name (void) |
Return name. More... | |
Public Attributes | |
IntVarArray | x |
Variables used. More... | |
HowToBranch | htb1 |
How to branch. More... | |
HowToBranch | htb2 |
HowToBranch | htb3 |
HowToConstrain | htc |
How to constrain. More... | |
Space that requires propagation and has solutions.
Definition at line 125 of file search.cpp.
|
inline |
Constructor for space creation.
Definition at line 150 of file search.cpp.
|
inline |
Constructor for cloning s.
Definition at line 161 of file search.cpp.
|
inline |
Branch on x according to htb.
Definition at line 134 of file search.cpp.
|
inlinevirtual |
|
inlinevirtual |
Add constraint for next better solution.
Reimplemented from Gecode::Space.
Definition at line 171 of file search.cpp.
|
inlinevirtual |
Return number of solutions.
Implements Test::Search::TestSpace.
Definition at line 204 of file search.cpp.
|
inlinevirtual |
Verify that this is best solution.
Implements Test::Search::TestSpace.
Definition at line 216 of file search.cpp.
|
inlinestatic |
Return name.
Definition at line 244 of file search.cpp.
|
inlinevirtual |
Rule out that solution is found more than once during restarts.
Reimplemented from Gecode::Space.
Definition at line 248 of file search.cpp.
IntVarArray Test::Search::HasSolutions::x |
Variables used.
Definition at line 128 of file search.cpp.
HowToBranch Test::Search::HasSolutions::htb1 |
How to branch.
Definition at line 130 of file search.cpp.
HowToBranch Test::Search::HasSolutions::htb2 |
Definition at line 130 of file search.cpp.
HowToBranch Test::Search::HasSolutions::htb3 |
Definition at line 130 of file search.cpp.
HowToConstrain Test::Search::HasSolutions::htc |
How to constrain.
Definition at line 132 of file search.cpp.