Generated on Sat Feb 7 2015 02:01:41 for Gecode by doxygen 1.8.9.1
Gecode::SharedMemory Class Reference

Shared object for several memory areas. More...

#include <memory-manager.hpp>

Public Member Functions

 SharedMemory (void)
 Initialize. More...
 
void flush (void)
 Flush all cached memory. More...
 
 ~SharedMemory (void)
 Destructor. More...
 
SharedMemorycopy (bool share)
 Return copy during cloning. More...
 
bool release (void)
 Release by one space. More...
 

Static Public Member Functions

static void * operator new (size_t s)
 Allocate memory from heap. More...
 
static void operator delete (void *p)
 Free memory allocated from heap. More...
 

Region management

bool region_alloc (size_t s, void *&p)
 Return memory chunk if available. More...
 

Heap management

HeapChunkheap_alloc (size_t s, size_t l)
 Return heap chunk, preferable of size s, but at least of size l. More...
 
void heap_free (HeapChunk *hc)
 Free heap chunk (or cache for later) More...
 

Detailed Description

Shared object for several memory areas.

Definition at line 66 of file memory-manager.hpp.

Constructor & Destructor Documentation

Gecode::SharedMemory::SharedMemory ( void  )
inline

Initialize.

Definition at line 210 of file memory-manager.hpp.

Gecode::SharedMemory::~SharedMemory ( void  )
inline

Destructor.

Definition at line 226 of file memory-manager.hpp.

Member Function Documentation

void Gecode::SharedMemory::flush ( void  )
inline

Flush all cached memory.

Definition at line 217 of file memory-manager.hpp.

bool Gecode::SharedMemory::region_alloc ( size_t  s,
void *&  p 
)
inline

Return memory chunk if available.

Definition at line 243 of file memory-manager.hpp.

HeapChunk * Gecode::SharedMemory::heap_alloc ( size_t  s,
size_t  l 
)
inline

Return heap chunk, preferable of size s, but at least of size l.

Definition at line 252 of file memory-manager.hpp.

void Gecode::SharedMemory::heap_free ( HeapChunk hc)
inline

Free heap chunk (or cache for later)

Definition at line 272 of file memory-manager.hpp.

SharedMemory * Gecode::SharedMemory::copy ( bool  share)
inline

Return copy during cloning.

Definition at line 230 of file memory-manager.hpp.

bool Gecode::SharedMemory::release ( void  )
inline

Release by one space.

Definition at line 239 of file memory-manager.hpp.

void * Gecode::SharedMemory::operator new ( size_t  s)
inlinestatic

Allocate memory from heap.

Definition at line 202 of file memory-manager.hpp.

void Gecode::SharedMemory::operator delete ( void *  p)
inlinestatic

Free memory allocated from heap.

Definition at line 206 of file memory-manager.hpp.

Member Data Documentation

size_t Gecode::SharedMemory::free

Amount of free memory.

Definition at line 74 of file memory-manager.hpp.

double Gecode::SharedMemory::area[MemoryConfig::region_area_size/sizeof(double)]

The actual memory area (allocated from top to bottom)

Definition at line 76 of file memory-manager.hpp.

unsigned int Gecode::SharedMemory::n_hc

How many heap chunks are available for caching.

Definition at line 81 of file memory-manager.hpp.

HeapChunk* Gecode::SharedMemory::hc

A list of cached heap chunks.

Definition at line 83 of file memory-manager.hpp.


The documentation for this class was generated from the following file: