Generated on Wed Nov 1 15:04:49 2006 for Gecode by doxygen 1.4.5

memory-manager.icc File Reference

(Revision: 3525)

Go to the source code of this file.

Namespaces

namespace  Gecode
namespace  Gecode::Memory
namespace  Gecode::Memory::Config

Classes

class  Gecode::FreeList
 Base-class for freelist-managed objects. More...
class  Gecode::MemoryManager
 Manage memory for space. More...
class  Gecode::MemoryManager::ReuseChunk
 Memory-chunks for reusing slack memory. More...

Defines

#define GECODE_MEMORY_ALIGNMENT   8
 Memory alignment.
#define GECODE_KERNEL_PTR2FL(p)   (reinterpret_cast<FreeList*>(p))
#define GECODE_KERNEL_PTR2CH(p)   (reinterpret_cast<char*>(p))

Variables

const size_t Gecode::Memory::Config::hcsz_min = 2 * 1024
 Minimal size of a heap chunk requested from the OS.
const size_t Gecode::Memory::Config::hcsz_max = 64 * 1024
 Maximal size of a heap chunk requested from the OS.
const int Gecode::Memory::Config::hcsz_inc_ratio = 8
 Increment ratio for chunk size.
const int Gecode::Memory::Config::hcsz_dec_ratio = 4
 Decrement ratio for chunk size.
const int Gecode::Memory::Config::fl_unit_size = ((sizeof(void*) == 4) ? 2 : 3)
 Unit size for free lists.
const int Gecode::Memory::Config::fl_size_min = ((sizeof(void*) == 4) ? 3 : 2)
 Minimal size for free list element.
const int Gecode::Memory::Config::fl_size_max = ((sizeof(void*) == 4) ? 3 : 2)
 Maximal size for free list element.
const int Gecode::Memory::Config::fl_refill = 8
 Number of free lists elements to allocate.


Define Documentation

#define GECODE_MEMORY_ALIGNMENT   8
 

Memory alignment.

Memory alignment is controlled by the macro GECODE_MEMORY_ALIGNMENT. If it is not defined, it assumed to be 8. Otherwise, the defined value is used.

Definition at line 110 of file memory-manager.icc.

#define GECODE_KERNEL_PTR2FL  )     (reinterpret_cast<FreeList*>(p))
 

Definition at line 397 of file memory-manager.icc.

#define GECODE_KERNEL_PTR2CH  )     (reinterpret_cast<char*>(p))
 

Definition at line 398 of file memory-manager.icc.