BioDynaMo  v1.03.58-27764645
Public Member Functions | Private Attributes | List of all members
bdm::MemoryManager Class Reference

#include <memory_manager.h>

Collaboration diagram for bdm::MemoryManager:
[legend]

Public Member Functions

 MemoryManager (uint64_t aligned_pages_shift, real_t growth_rate, uint64_t max_mem_per_thread_factor)
 
 ~MemoryManager ()
 
void * New (std::size_t size)
 
void Delete (void *p)
 
void SetIgnoreDelete (bool value)
 

Private Attributes

real_t growth_rate_
 
uint64_t max_mem_per_thread_factor_
 
uint64_t page_size_
 
uint64_t page_shift_
 
uint64_t aligned_pages_shift_
 
uint64_t aligned_pages_
 
uint64_t size_n_pages_
 
uint64_t num_threads_
 
bool ignore_delete_ = false
 
UnorderedFlatmap< std::size_t, memory_manager_detail::PoolAllocator * > allocators_
 
Spinlock lock_
 

Detailed Description

Definition at line 149 of file memory_manager.h.

Constructor & Destructor Documentation

◆ MemoryManager()

bdm::MemoryManager::MemoryManager ( uint64_t  aligned_pages_shift,
real_t  growth_rate,
uint64_t  max_mem_per_thread_factor 
)

Definition at line 332 of file memory_manager.cc.

◆ ~MemoryManager()

bdm::MemoryManager::~MemoryManager ( )

Definition at line 352 of file memory_manager.cc.

Member Function Documentation

◆ Delete()

void bdm::MemoryManager::Delete ( void *  p)

Definition at line 389 of file memory_manager.cc.

◆ New()

void * bdm::MemoryManager::New ( std::size_t  size)

Definition at line 358 of file memory_manager.cc.

◆ SetIgnoreDelete()

void bdm::MemoryManager::SetIgnoreDelete ( bool  value)

Definition at line 402 of file memory_manager.cc.

Member Data Documentation

◆ aligned_pages_

uint64_t bdm::MemoryManager::aligned_pages_
private

Definition at line 168 of file memory_manager.h.

◆ aligned_pages_shift_

uint64_t bdm::MemoryManager::aligned_pages_shift_
private

Definition at line 167 of file memory_manager.h.

◆ allocators_

UnorderedFlatmap<std::size_t, memory_manager_detail::PoolAllocator*> bdm::MemoryManager::allocators_
private

Definition at line 174 of file memory_manager.h.

◆ growth_rate_

real_t bdm::MemoryManager::growth_rate_
private

Definition at line 163 of file memory_manager.h.

◆ ignore_delete_

bool bdm::MemoryManager::ignore_delete_ = false
private

Definition at line 171 of file memory_manager.h.

◆ lock_

Spinlock bdm::MemoryManager::lock_
private

Definition at line 176 of file memory_manager.h.

◆ max_mem_per_thread_factor_

uint64_t bdm::MemoryManager::max_mem_per_thread_factor_
private

Definition at line 164 of file memory_manager.h.

◆ num_threads_

uint64_t bdm::MemoryManager::num_threads_
private

Definition at line 170 of file memory_manager.h.

◆ page_shift_

uint64_t bdm::MemoryManager::page_shift_
private

Definition at line 166 of file memory_manager.h.

◆ page_size_

uint64_t bdm::MemoryManager::page_size_
private

Definition at line 165 of file memory_manager.h.

◆ size_n_pages_

uint64_t bdm::MemoryManager::size_n_pages_
private

Definition at line 169 of file memory_manager.h.


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