Space-memory management
[Memory management]
Classes | |
class | Gecode::FreeList |
Base-class for freelist-managed objects. More... | |
class | Gecode::RangeList |
Lists of ranges (intervals). More... | |
Namespaces | |
namespace | Gecode::MemoryConfig |
Parameters defining memory management policy for spaces. | |
Functions | |
template<class T > | |
T * | Gecode::Space::alloc (long unsigned int n) |
Allocate block of n objects of type T from space heap. | |
template<class T > | |
T * | Gecode::Space::alloc (long int n) |
Allocate block of n objects of type T from space heap. | |
template<class T > | |
T * | Gecode::Space::alloc (unsigned int n) |
Allocate block of n objects of type T from space heap. | |
template<class T > | |
T * | Gecode::Space::alloc (int n) |
Allocate block of n objects of type T from space heap. | |
template<class T > | |
void | Gecode::Space::free (T *b, long unsigned int n) |
Delete n objects allocated from space heap starting at b. | |
template<class T > | |
void | Gecode::Space::free (T *b, long int n) |
Delete n objects allocated from space heap starting at b. | |
template<class T > | |
void | Gecode::Space::free (T *b, unsigned int n) |
Delete n objects allocated from space heap starting at b. | |
template<class T > | |
void | Gecode::Space::free (T *b, int n) |
Delete n objects allocated from space heap starting at b. | |
template<class T > | |
T * | Gecode::Space::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 * | Gecode::Space::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 * | Gecode::Space::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 * | Gecode::Space::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 ** | Gecode::Space::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 ** | Gecode::Space::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 ** | Gecode::Space::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 ** | Gecode::Space::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 * | Gecode::Space::ralloc (size_t s) |
Allocate memory on space heap. | |
void | Gecode::Space::rfree (void *p, size_t s) |
Free memory previously allocated with alloc (might be reused later). | |
void * | Gecode::Space::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 * | Gecode::Space::fl_alloc (void) |
Allocate from freelist-managed memory. | |
template<size_t > | |
void | Gecode::Space::fl_dispose (FreeList *f, FreeList *l) |
Return freelist-managed memory to freelist. | |
void | Gecode::Space::flush (void) |
Flush cached memory blocks. |
Function Documentation
T * Gecode::Space::alloc | ( | long unsigned int | n | ) | [inline, inherited] |
T * Gecode::Space::alloc | ( | long int | n | ) | [inline, inherited] |
T * Gecode::Space::alloc | ( | unsigned int | n | ) | [inline, inherited] |
T * Gecode::Space::alloc | ( | int | n | ) | [inline, inherited] |
void Gecode::Space::free | ( | T * | b, | |
long unsigned int | n | |||
) | [inline, inherited] |
void Gecode::Space::free | ( | T * | b, | |
long int | n | |||
) | [inline, inherited] |
void Gecode::Space::free | ( | T * | b, | |
unsigned int | n | |||
) | [inline, inherited] |
void Gecode::Space::free | ( | T * | b, | |
int | n | |||
) | [inline, inherited] |
T * Gecode::Space::realloc | ( | T * | b, | |
long unsigned int | n, | |||
long unsigned int | m | |||
) | [inline, inherited] |
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 objects, the default constructor of T is run for all remaining objects, and the destrucor of T is run for all n objects in b.
Returns the address of the new block.
T * Gecode::Space::realloc | ( | T * | b, | |
long int | n, | |||
long int | m | |||
) | [inline, inherited] |
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 objects, the default constructor of T is run for all remaining objects, and the destrucor of T is run for all n objects in b.
Returns the address of the new block.
T * Gecode::Space::realloc | ( | T * | b, | |
unsigned int | n, | |||
unsigned int | m | |||
) | [inline, inherited] |
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 objects, the default constructor of T is run for all remaining objects, and the destrucor of T is run for all n objects in b.
Returns the address of the new block.
T * Gecode::Space::realloc | ( | T * | b, | |
int | n, | |||
int | m | |||
) | [inline, inherited] |
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 objects, the default constructor of T is run for all remaining objects, and the destrucor of T is run for all n objects in b.
Returns the address of the new block.
T ** Gecode::Space::realloc | ( | T ** | b, | |
long unsigned int | n, | |||
long unsigned int | m | |||
) | [inline, inherited] |
T ** Gecode::Space::realloc | ( | T ** | b, | |
long int | n, | |||
long int | m | |||
) | [inline, inherited] |
T ** Gecode::Space::realloc | ( | T ** | b, | |
unsigned int | n, | |||
unsigned int | m | |||
) | [inline, inherited] |
T ** Gecode::Space::realloc | ( | T ** | b, | |
int | n, | |||
int | m | |||
) | [inline, inherited] |
void * Gecode::Space::ralloc | ( | size_t | s | ) | [inline, inherited] |
void Gecode::Space::rfree | ( | void * | p, | |
size_t | s | |||
) | [inline, inherited] |
void * Gecode::Space::rrealloc | ( | void * | b, | |
size_t | n, | |||
size_t | m | |||
) | [inline, inherited] |
void * Gecode::Space::fl_alloc | ( | void | ) | [inline, inherited] |