heap.hpp File Reference
#include <cstring>#include <cstdlib>#include <algorithm>Go to the source code of this file.
Classes | |
| class | Gecode::Heap |
| Heap memory management class More... | |
| class | Gecode::HeapAllocated |
| Base class for heap allocated objects. More... | |
Namespaces | |
| namespace | Gecode |
Gecode toplevel namespace | |
Defines | |
| #define | GECODE_SUPPORT_REALLOC(T) |
| #define | GECODE_SUPPORT_COPY(T) |
Define Documentation
| #define GECODE_SUPPORT_REALLOC | ( | T | ) |
Value:
template<> \ forceinline T* \ Heap::realloc<T>(T* b, long unsigned int, long unsigned int m) { \ return static_cast<T*>(rrealloc(b,m*sizeof(T))); \ } \ template<> \ forceinline T* \ Heap::realloc<T>(T* b, long int n, long int m) { \ assert((n >= 0) && (m >= 0)); \ return realloc<T>(b,static_cast<long unsigned int>(n), \ static_cast<long unsigned int>(m)); \ } \ template<> \ forceinline T* \ Heap::realloc<T>(T* b, unsigned int n, unsigned int m) { \ return realloc<T>(b,static_cast<long unsigned int>(n), \ static_cast<long unsigned int>(m)); \ } \ template<> \ forceinline T* \ Heap::realloc<T>(T* b, int n, int m) { \ assert((n >= 0) && (m >= 0)); \ return realloc<T>(b,static_cast<long unsigned int>(n), \ static_cast<long unsigned int>(m)); \ }
| #define GECODE_SUPPORT_COPY | ( | T | ) |
Value:
template<> \ forceinline T* \ Heap::copy(T* d, const T* s, long unsigned int n) { \ return static_cast<T*>(Support::allocator.memcpy(d,s,n*sizeof(T))); \ } \ template<> \ forceinline T* \ Heap::copy(T* d, const T* s, long int n) { \ assert(n >= 0); \ return copy<T>(d,s,static_cast<long unsigned int>(n)); \ } \ template<> \ forceinline T* \ Heap::copy(T* d, const T* s, unsigned int n) { \ return copy<T>(d,s,static_cast<long unsigned int>(n)); \ } \ template<> \ forceinline T* \ Heap::copy(T* d, const T* s, int n) { \ assert(n >= 0); \ return copy<T>(d,s,static_cast<long unsigned int>(n)); \ }
