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

## Macros

#define | GECODE_SUPPORT_REALLOC(T)
#define | GECODE_SUPPORT_COPY(T)

## Macro Definition Documentation

## GECODE_SUPPORT_REALLOC

#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)); \
}
forceinline
#define forceinline
Definition config.hpp:187

Definition at line 514 of file heap.hpp.

## GECODE_SUPPORT_COPY

#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)); \
}

Definition at line 606 of file heap.hpp.