Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0
Gecode::Kernel::MemoryManager Class Reference

Manage memory for space. More...

#include <manager.hpp>

Public Member Functions

 MemoryManager (SharedMemory &sm)
 Constructor initialization.
 
 MemoryManager (SharedMemory &sm, MemoryManager &mm, size_t s_sub)
 Constructor during cloning mm with shared memory sm and for a memory area for subscriptions of size s_sub.
 
void release (SharedMemory &sm)
 Release all allocated heap chunks.
 
void * alloc (SharedMemory &sm, size_t s)
 Allocate memory of size s.
 
void * subscriptions (void) const
 Get the memory area for subscriptions.
 
template<size_t s>
void * fl_alloc (SharedMemory &sm)
 Allocate free list element of size s.
 
template<size_t >
void fl_dispose (FreeList *f, FreeList *l)
 Release all free list elements of size s between f and l (inclusive)
 
void reuse (void *p, size_t s)
 Store for reusal, if of sufficient size for free list.
 

Detailed Description

Manage memory for space.

Definition at line 120 of file manager.hpp.

Constructor & Destructor Documentation

◆ MemoryManager() [1/2]

Gecode::Kernel::MemoryManager::MemoryManager ( SharedMemory & sm)
inline

Constructor initialization.

Definition at line 335 of file manager.hpp.

◆ MemoryManager() [2/2]

Gecode::Kernel::MemoryManager::MemoryManager ( SharedMemory & sm,
MemoryManager & mm,
size_t s_sub )
inline

Constructor during cloning mm with shared memory sm and for a memory area for subscriptions of size s_sub.

Definition at line 344 of file manager.hpp.

Member Function Documentation

◆ release()

void Gecode::Kernel::MemoryManager::release ( SharedMemory & sm)
inline

Release all allocated heap chunks.

Definition at line 362 of file manager.hpp.

◆ alloc()

void * Gecode::Kernel::MemoryManager::alloc ( SharedMemory & sm,
size_t s )
inline

Allocate memory of size s.

Definition at line 285 of file manager.hpp.

◆ subscriptions()

void * Gecode::Kernel::MemoryManager::subscriptions ( void ) const
inline

Get the memory area for subscriptions.

Definition at line 297 of file manager.hpp.

◆ fl_alloc()

template<size_t s>
void * Gecode::Kernel::MemoryManager::fl_alloc ( SharedMemory & sm)
inline

Allocate free list element of size s.

Definition at line 410 of file manager.hpp.

◆ fl_dispose()

template<size_t s>
void Gecode::Kernel::MemoryManager::fl_dispose ( FreeList * f,
FreeList * l )
inline

Release all free list elements of size s between f and l (inclusive)

Definition at line 423 of file manager.hpp.

◆ reuse()

void Gecode::Kernel::MemoryManager::reuse ( void * p,
size_t s )
inline

Store for reusal, if of sufficient size for free list.

Definition at line 378 of file manager.hpp.


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