Gecode::Space Gecode::FlatZinc::FlatZincSpace Gecode::MiniModel::IntOptimizeSpace< irt > core.hpp Gecode::Space::Branchers Gecode::Space::Propagators
update, and dispose variables
void forceinline void Gecode::Space::update (ActorLink **sub) update ActorLink ** sub Update all cloned variables.
Conversion from Space to Home
Home forceinline Home Gecode::Space::operator() (Propagator &p) operator() Propagator & p Return a home for this space with the information that p is being rewritten.
class T T & T& Gecode::Space::construct (void) construct void Construction routines. Constructs a single object of type T from space heap using the default constructor. class T typename A1 T & T& Gecode::Space::construct (A1 const &a1) construct A1 const & a1 Constructs a single object of type T from space heap using a unary constructor. The parameter is passed as a const reference. class T typename A1 typename A2 T & T& Gecode::Space::construct (A1 const &a1, A2 const &a2) construct A1 const & a1 A2 const & a2 Constructs a single object of type T from space heap using a binary constructor. The parameters are passed as const references. class T typename A1 typename A2 typename A3 T & T& Gecode::Space::construct (A1 const &a1, A2 const &a2, A3 const &a3) construct A1 const & a1 A2 const & a2 A3 const & a3 Constructs a single object of type T from space heap using a ternary constructor. The parameters are passed as const references. class T typename A1 typename A2 typename A3 typename A4 T & T& Gecode::Space::construct (A1 const &a1, A2 const &a2, A3 const &a3, A4 const &a4) 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. The parameters are passed as const references. class T typename A1 typename A2 typename A3 typename A4 typename A5 T & T& Gecode::Space::construct (A1 const &a1, A2 const &a2, A3 const &a3, A4 const &a4, A5 const &a5) 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. The parameters are passed as const references.
Low-level support for AFC
GECODE_KERNEL_EXPORT void GECODE_KERNEL_EXPORT void Gecode::Space::afc_decay (double d) afc_decay double d Set AFC decay factor to d. double forceinline double Gecode::Space::afc_decay (void) const afc_decay void Return AFC decay factor. GECODE_KERNEL_EXPORT void GECODE_KERNEL_EXPORT void Gecode::Space::afc_set (double a) afc_set double a Reset AFC to a.
friend class friend class Actor Actor friend class friend class Propagator Propagator friend class friend class Brancher Brancher friend class friend class Advisor Advisor class VIC friend class friend class VarImp VarImp class VarImp friend class friend class VarImpDisposer VarImpDisposer friend class friend class SharedHandle SharedHandle friend class friend class LocalObject LocalObject friend class friend class Region Region friend class friend class AFC AFC friend class friend class BrancherHandle BrancherHandle SharedMemory * SharedMemory* Gecode::Space::sm sm Manager for shared memory areas. MemoryManager MemoryManager Gecode::Space::mm mm Performs memory management for space. GlobalAFC GlobalAFC Gecode::Space::gafc gafc Global AFC information. ActorLink ActorLink Gecode::Space::pl pl Doubly linked list of all propagators. ActorLink ActorLink Gecode::Space::bl bl Doubly linked list of all branchers. Brancher * Brancher* Gecode::Space::b_status b_status Points to the first brancher to be used for status. If equal to &bl, no brancher does exist. Brancher * Brancher* Gecode::Space::b_commit b_commit Points to the first brancher to be used for commit. Note that b_commit can point to an earlier brancher than b_status. This reflects the fact that the earlier brancher is already done (that is, status on that brancher returns false) but there might be still choices referring to the earlier brancher.If equal to &bl, no brancher does exist. union Gecode::Space::@5 union Gecode::Space::@5 Gecode::Space::pc pc Actor ** Actor** Gecode::Space::d_fst d_fst First actor for forced disposal. Actor ** Actor** Gecode::Space::d_cur d_cur Current actor for forced disposal. Actor ** Actor** Gecode::Space::d_lst d_lst Last actor for forced disposal. unsigned int unsigned int Gecode::Space::_wmp_afc _wmp_afc Number of weakly monotonic propagators and AFC flag. The least significant bit encodes whether AFC information must be collected, the remaining bits encode counting for weakly monotonic propagators as follows. If zero, none exists. If one, then none exists right now but there has been one since the last fixpoint computed. Otherwise, it gives the number of weakly monotoning propagators minus one. const unsigned const unsigned Gecode::Space::reserved_branch_id reserved_branch_id = 0U Reserved brancher id (never created) GECODE_KERNEL_EXPORT StatusStatistics GECODE_KERNEL_EXPORT StatusStatistics Gecode::Space::unused_status unused_status Used for default argument. GECODE_KERNEL_EXPORT CloneStatistics GECODE_KERNEL_EXPORT CloneStatistics Gecode::Space::unused_clone unused_clone Used for default argument. GECODE_KERNEL_EXPORT CommitStatistics GECODE_KERNEL_EXPORT CommitStatistics Gecode::Space::unused_commit unused_commit Used for default argument. ActorLink * ActorLink* Gecode::Space::active 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. ActorLink ActorLink Gecode::Space::queue[PropCost::AC_MAX+1] [PropCost::AC_MAX+1] queue Scheduled propagators according to cost. unsigned int unsigned int Gecode::Space::branch_id branch_id Id of next brancher to be created. unsigned int unsigned int Gecode::Space::n_sub n_sub Number of subscriptions. struct Gecode::Space::@5::@6 struct Gecode::Space::@5::@6 Gecode::Space::p p Data only available during propagation. VarImpBase * VarImpBase* Gecode::Space::vars_u[AllVarConf::idx_c] [AllVarConf::idx_c] vars_u Entries for updating variables. VarImpBase * VarImpBase* Gecode::Space::vars_noidx vars_noidx Keep variables during copying without index structure. SharedHandle::Object * SharedHandle::Object* Gecode::Space::shared shared Linked list of shared objects. LocalObject * LocalObject* Gecode::Space::local local Linked list of local objects. struct Gecode::Space::@5::@7 struct Gecode::Space::@5::@7 Gecode::Space::c c Data available only during copying. Brancher * forceinline Brancher * Gecode::Space::brancher (unsigned int id) brancher unsigned int id Find brancher with identity id. GECODE_KERNEL_EXPORT void GECODE_KERNEL_EXPORT void Gecode::Space::kill_brancher (unsigned int id) kill_brancher unsigned int id Kill brancher with identity id. void forceinline void Gecode::Space::enqueue (Propagator *p) enqueue Propagator * p Put propagator p into right queue. void forceinline void Gecode::Space::afc_enable (void) afc_enable void Set that AFC information must be recorded. bool forceinline bool Gecode::Space::afc_enabled (void) const afc_enabled void Whether AFC information must be recorded. void forceinline void Gecode::Space::wmp (unsigned int n) wmp unsigned int n Set number of wmp propagators to n. unsigned int forceinline unsigned int Gecode::Space::wmp (void) const wmp void Return number of wmp propagators. GECODE_KERNEL_EXPORT Space * GECODE_KERNEL_EXPORT Space* Gecode::Space::_clone (bool share=true) _clone bool share true Clone space. Assumes that the space is stable and not failed. If the space is failed, an exception of type SpaceFailed is thrown. If the space is not stable, an exception of SpaceNotStable is thrown.Otherwise, a clone of the space is returned. If share is true, sharable datastructures are shared among the clone and the original space. If share 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.Throws an exception of type SpaceNotCloned when the copy constructor of the Space class is not invoked during cloning. GECODE_KERNEL_EXPORT void GECODE_KERNEL_EXPORT void Gecode::Space::_commit (const Choice &c, unsigned int a) _commit const Choice & c unsigned int a Commit choice c for alternative a. The current brancher in the space performs a commit from the information provided by the choice c and the alternative a. The statistics information stat is updated.Note that no propagation is perfomed (to support path recomputation), in order to perform propagation the member function status must be used.Committing with choices must be carried out in the same order as the choices have been obtained by the member function Space::choice().It is perfectly okay to add constraints interleaved with choices (provided they are in the right order). However, if propagation is performed by calling the member function status and then new choices are computed, these choices are different.Only choices can be used that are up-to-date in the following sense: if a new choice is created (via the choice member function), no older choices can be used.Committing throws the following exceptions: SpaceNoBrancher, if the space has no current brancher (it is already solved).SpaceIllegalAlternative, if a is not smaller than the number of alternatives supported by the choice c. GECODE_KERNEL_EXPORT void GECODE_KERNEL_EXPORT void Gecode::Space::_trycommit (const Choice &c, unsigned int a) _trycommit const Choice & c unsigned int a Commit choice c for alternative a if possible. The current brancher in the space performs a commit from the information provided by the choice c and the alternative a. The statistics information stat is updated.Note that no propagation is perfomed (to support path recomputation), in order to perform propagation the member function status must be used.Committing with choices must be carried out in the same order as the choices have been obtained by the member function Space::choice().It is perfectly okay to add constraints interleaved with choices (provided they are in the right order). However, if propagation is performed by calling the member function status and then new choices are computed, these choices are different.Only choices can be used that are up-to-date in the following sense: if a new choice is created (via the choice member function), no older choices can be used.Committing throws the following exceptions: SpaceIllegalAlternative, if a is not smaller than the number of alternatives supported by the choice c. GECODE_KERNEL_EXPORT GECODE_KERNEL_EXPORT Gecode::Space::Space (void) Space void Default constructor. GECODE_KERNEL_EXPORT virtual GECODE_KERNEL_EXPORT Gecode::Space::~Space (void) ~Space void Destructor. GECODE_KERNEL_EXPORT GECODE_KERNEL_EXPORT Gecode::Space::Space (bool share, Space &s) Space bool share Space & s Constructor for cloning. Must copy and update all data structures (such as variables and variable arrays) required by the subclass of Space.If share is true, share all data structures among copies. Otherwise, make independent copies. Space * virtual Space* Gecode::Space::copy (bool share)=0 copy copy bool share Copying member function. Must create a new object using the constructor for cloning. GECODE_KERNEL_EXPORT void virtual GECODE_KERNEL_EXPORT void Gecode::Space::constrain (const Space &best) constrain constrain constrain const Space & best Constrain function for best solution search. Must constrain this space to be better than the so far best solution best.The default function does nothing. GECODE_KERNEL_EXPORT void virtual GECODE_KERNEL_EXPORT void Gecode::Space::master (unsigned long int i, const Space *s, NoGoods &ng) master unsigned long int i const Space * s NoGoods & ng Master configuration function for restart meta search engine. A restart meta search engine calls this function on its master space whenever it finds a solution or exploration restarts. i is the number of the restart. s is either the solution space or NULL. ng are nogoods recorded from the last restart (only if s is not a solution).The default function does nothing. GECODE_KERNEL_EXPORT void virtual GECODE_KERNEL_EXPORT void Gecode::Space::slave (unsigned long int i, const Space *s) slave unsigned long int i const Space * s Slave configuration function for restart meta search engine. A restart meta search engine calls this function on its slave space whenever it finds a solution or exploration restarts. i is the number of the restart. s is either the solution space or NULL.The default function does nothing. GECODE_KERNEL_EXPORT SpaceStatus GECODE_KERNEL_EXPORT SpaceStatus Gecode::Space::status (StatusStatistics &stat=unused_status) status StatusStatistics & stat unused_status Query space status. Propagates the space until fixpoint or failure; updates the statistics information stat; and: if the space is failed, SpaceStatus::SS_FAILED is returned.if the space is not failed but the space has no brancher left, SpaceStatus::SS_SOLVED is returned.otherwise, SpaceStatus::SS_BRANCH is returned. GECODE_KERNEL_EXPORT const Choice * GECODE_KERNEL_EXPORT const Choice* Gecode::Space::choice (void) choice void Create new choice for current brancher. This member function can only be called after the member function Space::status on the same space has been called and in between no non-const member function has been called on this space.Moreover, the member function can only be called at most once (otherwise, it might generate conflicting choices).Note that the above invariant only pertains to calls of member functions of the same space. If the invariant is violated, the system is likely to crash (hopefully it does). In particular, if applied to a space with no current brancher, the system will crash.After a new choice has been created, no older choices can be used on the space.If the status() member function has returned that the space has no more branchers (that is, the result was either SS_FAILED or SS_SOLVED), a call to choice() will return NULL and purge all remaining branchers inside the space. This is interesting for the case SS_SOLVED, where the call to choice can serve as garbage collection.Throws an exception of type SpaceNotStable when applied to a not yet stable space. GECODE_KERNEL_EXPORT const Choice * GECODE_KERNEL_EXPORT const Choice* Gecode::Space::choice (Archive &e) const choice Archive & e Create new choice from e. The archived representation e must have been created from a Choice that is compatible with this space (i.e., created from the same model). Space * forceinline Space * Gecode::Space::clone (bool share=true, CloneStatistics &stat=unused_clone) const clone bool share true CloneStatistics & stat unused_clone Clone space. Assumes that the space is stable and not failed. If the space is failed, an exception of type SpaceFailed is thrown. If the space is not stable, an exception of SpaceNotStable is thrown.Otherwise, a clone of the space is returned and the statistics information stat is updated. If share is true, sharable datastructures are shared among the clone and the original space. If share 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.Throws an exception of type SpaceNotCloned when the copy constructor of the Space class is not invoked during cloning. void forceinline void Gecode::Space::commit (const Choice &c, unsigned int a, CommitStatistics &stat=unused_commit) commit const Choice & c unsigned int a CommitStatistics & stat unused_commit Commit choice c for alternative a. The current brancher in the space performs a commit from the information provided by the choice c and the alternative a. The statistics information stat is updated.Note that no propagation is perfomed (to support path recomputation), in order to perform propagation the member function status must be used.Committing with choices must be carried out in the same order as the choices have been obtained by the member function Space::choice().It is perfectly okay to add constraints interleaved with choices (provided they are in the right order). However, if propagation is performed by calling the member function status and then new choices are computed, these choices are different.Only choices can be used that are up-to-date in the following sense: if a new choice is created (via the choice member function), no older choices can be used.Committing throws the following exceptions: SpaceNoBrancher, if the space has no current brancher (it is already solved).SpaceIllegalAlternative, if a is not smaller than the number of alternatives supported by the choice c. void forceinline void Gecode::Space::trycommit (const Choice &c, unsigned int a, CommitStatistics &stat=unused_commit) trycommit const Choice & c unsigned int a CommitStatistics & stat unused_commit If possible, commit choice c for alternative a. The current brancher in the space performs a commit from the information provided by the choice c and the alternative a. The statistics information stat is updated.Note that no propagation is perfomed (to support path recomputation), in order to perform propagation the member function status must be used.Committing with choices must be carried out in the same order as the choices have been obtained by the member function Space::choice().It is perfectly okay to add constraints interleaved with choices (provided they are in the right order). However, if propagation is performed by calling the member function status and then new choices are computed, these choices are different.Only choices can be used that are up-to-date in the following sense: if a new choice is created (via the choice member function), no older choices can be used.Committing throws the following exceptions: SpaceIllegalAlternative, if a is not smaller than the number of alternatives supported by the choice c. GECODE_KERNEL_EXPORT NGL * GECODE_KERNEL_EXPORT NGL* Gecode::Space::ngl (const Choice &c, unsigned int a) ngl const Choice & c unsigned int a Create no-good literal for choice c and alternative a. The current brancher in the space home creates a no-good literal from the information provided by the choice c and the alternative a. The brancher has the following options: it returns NULL for all alternatives a. This means that the brancher does not support no-good literals.it returns NULL for the last alternative a. This means that this alternative is equivalent to the negation of the disjunction of all other alternatives. It throws the following exceptions: SpaceIllegalAlternative, if a is not smaller than the number of alternatives supported by the choice c. GECODE_KERNEL_EXPORT void GECODE_KERNEL_EXPORT void Gecode::Space::print (const Choice &c, unsigned int a, std::ostream &o) const print const Choice & c unsigned int a std::ostream & o Print branch for choice c and alternative a. Prints an explanation of the alternative a of choice c on the stream o.Print throws the following exceptions: SpaceNoBrancher, if the space has no current brancher (it is already solved).SpaceIllegalAlternative, if a is not smaller than the number of alternatives supported by the choice c. GECODE_KERNEL_EXPORT void GECODE_KERNEL_EXPORT void Gecode::Space::notice (Actor &a, ActorProperty p, bool duplicate=false) notice Actor & a ActorProperty p bool duplicate false Notice actor property. Make the space notice that the actor a has the property p. Note that the same property can only be noticed once for an actor unless duplicate is true. GECODE_KERNEL_EXPORT void GECODE_KERNEL_EXPORT void Gecode::Space::ignore (Actor &a, ActorProperty p, bool duplicate=false) ignore Actor & a ActorProperty p bool duplicate false Ignore actor property. Make the space ignore that the actor a has the property p. Note that a property must be ignored before an actor is disposed. ExecStatus forceinline ExecStatus Gecode::Space::ES_SUBSUMED (Propagator &p) ES_SUBSUMED Propagator & p Propagator p is subsumedFirst disposes the propagator and then returns subsumption.Has a side-effect on the propagator. Overwrites the modification event delta of a propagator. Use only directly with returning from propagation. ExecStatus forceinline ExecStatus Gecode::Space::ES_SUBSUMED_DISPOSED (Propagator &p, size_t s) ES_SUBSUMED_DISPOSED Propagator & p size_t s Propagator p is subsumed The size of the propagator is s.Note that the propagator must be subsumed and also disposed. So in general, there should be code such as returnES_SUBSUMED_DISPOSE(home,*this,dispose(home)) .Has a side-effect on the propagator. Overwrites the modification event delta of a propagator. Use only directly with returning from propagation. ExecStatus forceinline ExecStatus Gecode::Space::ES_FIX_PARTIAL (Propagator &p, const ModEventDelta &med) ES_FIX_PARTIAL Propagator & p const ModEventDelta & med Propagator p has computed partial fixpoint Set modification event delta to med and schedule propagator accordingly.Has a side-effect on the propagator. Use only directly with returning from propagation. ExecStatus forceinline ExecStatus Gecode::Space::ES_NOFIX_PARTIAL (Propagator &p, const ModEventDelta &med) ES_NOFIX_PARTIAL Propagator & p const ModEventDelta & med Propagator p has not computed partial fixpoint Combine current modification event delta with and schedule propagator accordingly.Has a side-effect on the propagator. Use only directly with returning from propagation. class A ExecStatus ExecStatus Gecode::Space::ES_FIX_DISPOSE (Council< A > &c, A &a) ES_FIX_DISPOSE Council< A > & c A & a Advisor a must be disposed Disposes the advisor and returns that the propagator of a need not be run.Has a side-effect on the advisor. Use only directly when returning from advise. class A ExecStatus ExecStatus Gecode::Space::ES_NOFIX_DISPOSE (Council< A > &c, A &a) ES_NOFIX_DISPOSE Council< A > & c A & a Advisor a must be disposed and its propagator must be run Disposes the advisor and returns that the propagator of a must be run.Has a side-effect on the advisor. Use only directly when returning from advise. class A ExecStatus ExecStatus Gecode::Space::ES_NOFIX_DISPOSE_FORCE (Council< A > &c, A &a) ES_NOFIX_DISPOSE_FORCE Council< A > & c A & a Advisor a must be disposed and its propagator must be forcefully rescheduled Disposes the advisor and returns that the propagator of a must be run and must be forcefully rescheduled (including recomputation of cost).Has a side-effect on the advisor. Use only directly when returning from advise. void forceinline void Gecode::Space::fail (void) fail void Fail space. This is useful for failing outside of actors. Never use inside a propagate or commit member function. The system will crash! bool forceinline bool Gecode::Space::failed (void) const failed void Check whether space is failed. Note that this does not perform propagation. This is useful for posting actors: only if a space is not yet failed, new actors are allowed to be created. bool forceinline bool Gecode::Space::stable (void) const stable void Return if space is stable (at fixpoint or failed) GECODE_KERNEL_EXPORT unsigned int GECODE_KERNEL_EXPORT unsigned int Gecode::Space::propagators (void) const propagators void Return number of propagators. Note that this function takes linear time in the number of propagators. GECODE_KERNEL_EXPORT unsigned int GECODE_KERNEL_EXPORT unsigned int Gecode::Space::branchers (void) const branchers void Return number of branchers. Note that this function takes linear time in the number of branchers. class T T * T* Gecode::Space::alloc (long unsigned int n) alloc long unsigned int n Allocate block of n objects of type T from space heap. Note that this function implements C++ semantics: the default constructor of T is run for all n objects. class T T * T* Gecode::Space::alloc (long int n) alloc long int n Allocate block of n objects of type T from space heap. Note that this function implements C++ semantics: the default constructor of T is run for all n objects. class T T * T* Gecode::Space::alloc (unsigned int n) alloc unsigned int n Allocate block of n objects of type T from space heap. Note that this function implements C++ semantics: the default constructor of T is run for all n objects. class T T * T* Gecode::Space::alloc (int n) alloc int n Allocate block of n objects of type T from space heap. Note that this function implements C++ semantics: the default constructor of T is run for all n objects. class T void void Gecode::Space::free (T *b, long unsigned int n) free T * b long unsigned int n Delete n objects allocated from space heap starting at b. Note that this function implements C++ semantics: the destructor of T is run for all n objects.Note that the memory is not freed, it is just scheduled for later reusal. class T void void Gecode::Space::free (T *b, long int n) free T * b long int n Delete n objects allocated from space heap starting at b. Note that this function implements C++ semantics: the destructor of T is run for all n objects.Note that the memory is not freed, it is just scheduled for later reusal. class T void void Gecode::Space::free (T *b, unsigned int n) free T * b unsigned int n Delete n objects allocated from space heap starting at b. Note that this function implements C++ semantics: the destructor of T is run for all n objects.Note that the memory is not freed, it is just scheduled for later reusal. class T void void Gecode::Space::free (T *b, int n) free T * b int n Delete n objects allocated from space heap starting at b. Note that this function implements C++ semantics: the destructor of T is run for all n objects.Note that the memory is not freed, it is just scheduled for later reusal. class T T * T* Gecode::Space::realloc (T *b, long unsigned int n, long unsigned int m) 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. Note that this function implements C++ semantics: the copy constructor of T is run for all $\min(n,m)$ objects, the default constructor of T is run for all remaining $\max(n,m)-\min(n,m)$ objects, and the destrucor of T is run for all n objects in b.Returns the address of the new block. class T T * T* Gecode::Space::realloc (T *b, long int n, long int m) 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. Note that this function implements C++ semantics: the copy constructor of T is run for all $\min(n,m)$ objects, the default constructor of T is run for all remaining $\max(n,m)-\min(n,m)$ objects, and the destrucor of T is run for all n objects in b.Returns the address of the new block. class T T * T* Gecode::Space::realloc (T *b, unsigned int n, unsigned int m) 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. Note that this function implements C++ semantics: the copy constructor of T is run for all $\min(n,m)$ objects, the default constructor of T is run for all remaining $\max(n,m)-\min(n,m)$ objects, and the destrucor of T is run for all n objects in b.Returns the address of the new block. class T T * T* Gecode::Space::realloc (T *b, int n, int m) 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. Note that this function implements C++ semantics: the copy constructor of T is run for all $\min(n,m)$ objects, the default constructor of T is run for all remaining $\max(n,m)-\min(n,m)$ objects, and the destrucor of T is run for all n objects in b.Returns the address of the new block. class T T ** T** Gecode::Space::realloc (T **b, long unsigned int n, long unsigned int m) 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. Returns the address of the new block.This is a specialization for performance. class T T ** T** Gecode::Space::realloc (T **b, long int n, long int m) 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. Returns the address of the new block.This is a specialization for performance. class T T ** T** Gecode::Space::realloc (T **b, unsigned int n, unsigned int m) 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. Returns the address of the new block.This is a specialization for performance. class T T ** T** Gecode::Space::realloc (T **b, int n, int m) 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. Returns the address of the new block.This is a specialization for performance. void * forceinline void * Gecode::Space::ralloc (size_t s) ralloc size_t s Allocate memory on space heap. void forceinline void Gecode::Space::rfree (void *p, size_t s) rfree void * p size_t s Free memory previously allocated with alloc (might be reused later) void * forceinline void * Gecode::Space::rrealloc (void *b, size_t n, size_t m) rrealloc void * b size_t n size_t m Reallocate memory block starting at b from size n to size s. size_t void * void* Gecode::Space::fl_alloc (void) fl_alloc void Allocate from freelist-managed memory. size_t void void Gecode::Space::fl_dispose (FreeList *f, FreeList *l) fl_dispose FreeList * f FreeList * l Return freelist-managed memory to freelist. The first list element to be retuned is f, the last is l. GECODE_KERNEL_EXPORT void GECODE_KERNEL_EXPORT void Gecode::Space::flush (void) flush void Flush cached memory blocks. All spaces that are obtained as non-shared clones from some same space try to cache memory blocks from failed spaces. To minimize memory consumption, these blocks can be flushed. size_t s s forceinline void * forceinline void* Gecode::Space::fl_alloc (void) fl_alloc void size_t s s forceinline void forceinline void Gecode::Space::fl_dispose (FreeList *f, FreeList *l) fl_dispose FreeList * f FreeList * l class T forceinline T * forceinline T* Gecode::Space::alloc (long unsigned int n) alloc long unsigned int n class T forceinline T * forceinline T* Gecode::Space::alloc (long int n) alloc long int n class T forceinline T * forceinline T* Gecode::Space::alloc (unsigned int n) alloc unsigned int n class T forceinline T * forceinline T* Gecode::Space::alloc (int n) alloc int n class T forceinline void forceinline void Gecode::Space::free (T *b, long unsigned int n) free T * b long unsigned int n class T forceinline void forceinline void Gecode::Space::free (T *b, long int n) free T * b long int n class T forceinline void forceinline void Gecode::Space::free (T *b, unsigned int n) free T * b unsigned int n class T forceinline void forceinline void Gecode::Space::free (T *b, int n) free T * b int n class T forceinline T * forceinline T* Gecode::Space::realloc (T *b, long unsigned int n, long unsigned int m) realloc T * b long unsigned int n long unsigned int m class T forceinline T * forceinline T* Gecode::Space::realloc (T *b, long int n, long int m) realloc T * b long int n long int m class T forceinline T * forceinline T* Gecode::Space::realloc (T *b, unsigned int n, unsigned int m) realloc T * b unsigned int n unsigned int m class T forceinline T * forceinline T* Gecode::Space::realloc (T *b, int n, int m) realloc T * b int n int m class T forceinline T ** forceinline T** Gecode::Space::realloc (T **b, long unsigned int n, long unsigned int m) realloc T ** b long unsigned int n long unsigned int m class T forceinline T ** forceinline T** Gecode::Space::realloc (T **b, long int n, long int m) realloc T ** b long int n long int m class T forceinline T ** forceinline T** Gecode::Space::realloc (T **b, unsigned int n, unsigned int m) realloc T ** b unsigned int n unsigned int m class T forceinline T ** forceinline T** Gecode::Space::realloc (T **b, int n, int m) realloc T ** b int n int m class A forceinline ExecStatus forceinline ExecStatus Gecode::Space::ES_FIX_DISPOSE (Council< A > &c, A &a) ES_FIX_DISPOSE Council< A > & c A & a class A forceinline ExecStatus forceinline ExecStatus Gecode::Space::ES_NOFIX_DISPOSE (Council< A > &c, A &a) ES_NOFIX_DISPOSE Council< A > & c A & a class A forceinline ExecStatus forceinline ExecStatus Gecode::Space::ES_NOFIX_DISPOSE_FORCE (Council< A > &c, A &a) ES_NOFIX_DISPOSE_FORCE Council< A > & c A & a class T forceinline T & forceinline T& Gecode::Space::construct (void) construct void class T typename A1 forceinline T & forceinline T& Gecode::Space::construct (A1 const &a1) construct A1 const & a1 class T typename A1 typename A2 forceinline T & forceinline T& Gecode::Space::construct (A1 const &a1, A2 const &a2) construct A1 const & a1 A2 const & a2 class T typename A1 typename A2 typename A3 forceinline T & forceinline T& Gecode::Space::construct (A1 const &a1, A2 const &a2, A3 const &a3) construct A1 const & a1 A2 const & a2 A3 const & a3 class T typename A1 typename A2 typename A3 typename A4 forceinline T & forceinline T& Gecode::Space::construct (A1 const &a1, A2 const &a2, A3 const &a3, A4 const &a4) construct A1 const & a1 A2 const & a2 A3 const & a3 A4 const & a4 class T typename A1 typename A2 typename A3 typename A4 typename A5 forceinline T & forceinline T& Gecode::Space::construct (A1 const &a1, A2 const &a2, A3 const &a3, A4 const &a4, A5 const &a5) construct A1 const & a1 A2 const & a2 A3 const & a3 A4 const & a4 A5 const & a5 void * forceinline void * Gecode::Space::operator new (size_t) operator new size_t s Allocate memory from heap for new space. void forceinline void Gecode::Space::operator delete (void *) operator delete void * p Free memory allocated from heap. Computation spaces. local vars_u vars_noidx shared active queue Gecode::Space_clone Gecode::Space_commit Gecode::Space_trycommit Gecode::Space_wmp_afc Gecode::Spaceactive Gecode::SpaceActor Gecode::SpaceAdvisor Gecode::SpaceAFC Gecode::Spaceafc_decay Gecode::Spaceafc_decay Gecode::Spaceafc_enable Gecode::Spaceafc_enabled Gecode::Spaceafc_set Gecode::Spacealloc Gecode::Spacealloc Gecode::Spacealloc Gecode::Spacealloc Gecode::Spacealloc Gecode::Spacealloc Gecode::Spacealloc Gecode::Spacealloc Gecode::Spaceb_commit Gecode::Spaceb_status Gecode::Spacebl Gecode::Spacebranch_id Gecode::Spacebrancher Gecode::SpaceBrancher Gecode::SpaceBrancherHandle Gecode::Spacebranchers Gecode::Spacec Gecode::Spacechoice Gecode::Spacechoice Gecode::Spaceclone Gecode::Spacecommit Gecode::Spaceconstrain Gecode::Spaceconstruct Gecode::Spaceconstruct Gecode::Spaceconstruct Gecode::Spaceconstruct Gecode::Spaceconstruct Gecode::Spaceconstruct Gecode::Spaceconstruct Gecode::Spaceconstruct Gecode::Spaceconstruct Gecode::Spaceconstruct Gecode::Spaceconstruct Gecode::Spaceconstruct Gecode::Spacecopy Gecode::Spaced_cur Gecode::Spaced_fst Gecode::Spaced_lst Gecode::Spaceenqueue Gecode::SpaceES_FIX_DISPOSE Gecode::SpaceES_FIX_DISPOSE Gecode::SpaceES_FIX_PARTIAL Gecode::SpaceES_NOFIX_DISPOSE Gecode::SpaceES_NOFIX_DISPOSE Gecode::SpaceES_NOFIX_DISPOSE_FORCE Gecode::SpaceES_NOFIX_DISPOSE_FORCE Gecode::SpaceES_NOFIX_PARTIAL Gecode::SpaceES_SUBSUMED Gecode::SpaceES_SUBSUMED_DISPOSED Gecode::Spacefail Gecode::Spacefailed Gecode::Spacefl_alloc Gecode::Spacefl_alloc Gecode::Spacefl_dispose Gecode::Spacefl_dispose Gecode::Spaceflush Gecode::Spacefree Gecode::Spacefree Gecode::Spacefree Gecode::Spacefree Gecode::Spacefree Gecode::Spacefree Gecode::Spacefree Gecode::Spacefree Gecode::Spacegafc Gecode::Spaceignore Gecode::Spacekill_brancher Gecode::Spacelocal Gecode::SpaceLocalObject Gecode::Spacemaster Gecode::Spacemm Gecode::Spacen_sub Gecode::Spacengl Gecode::Spacenotice Gecode::Spaceoperator delete Gecode::Spaceoperator new Gecode::Spaceoperator() Gecode::Spacep Gecode::Spacepc Gecode::Spacepl Gecode::Spaceprint Gecode::SpacePropagator Gecode::Spacepropagators Gecode::Spacequeue Gecode::Spaceralloc Gecode::Spacerealloc Gecode::Spacerealloc Gecode::Spacerealloc Gecode::Spacerealloc Gecode::Spacerealloc Gecode::Spacerealloc Gecode::Spacerealloc Gecode::Spacerealloc Gecode::Spacerealloc Gecode::Spacerealloc Gecode::Spacerealloc Gecode::Spacerealloc Gecode::Spacerealloc Gecode::Spacerealloc Gecode::Spacerealloc Gecode::Spacerealloc Gecode::SpaceRegion Gecode::Spacereserved_branch_id Gecode::Spacerfree Gecode::Spacerrealloc Gecode::Spaceshared Gecode::SpaceSharedHandle Gecode::Spaceslave Gecode::Spacesm Gecode::SpaceSpace Gecode::SpaceSpace Gecode::Spacestable Gecode::Spacestatus Gecode::Spacetrycommit Gecode::Spaceunused_clone Gecode::Spaceunused_commit Gecode::Spaceunused_status Gecode::Spaceupdate Gecode::SpaceVarImp Gecode::SpaceVarImpDisposer Gecode::Spacevars_noidx Gecode::Spacevars_u Gecode::Spacewmp Gecode::Spacewmp Gecode::Space~Space