Classe pour gérer une liste de zone allouées. Plus de détails...
#include <arcane/utils/internal/MemoryPool.h>
Classes | |
class | Impl |
Fonctions membres publiques | |
MemoryPool (IMemoryPoolAllocator *allocator, const String &name) | |
void * | allocateMemory (size_t size) override |
Alloue un bloc pour size octets. | |
void | freeMemory (void *ptr, size_t size) override |
Libère le bloc situé à l'adresse address contenant size octets. | |
void | dumpStats (std::ostream &ostr) |
void | dumpFreeMap (std::ostream &ostr) |
String | name () const |
void | setMaxCachedBlockSize (size_t v) |
Positionne la taille en octet à partir de laquelle on ne conserve pas un bloc dans le cache. | |
void | freeCachedMemory () |
Libère la mémoire dans le cache. | |
Attributs privés | |
std::shared_ptr< Impl > | m_p |
Classe pour gérer une liste de zone allouées.
Cette classe utilise une sémantique par référence.
L'allocateur passé en argument du constructeur doit rester valide durant toute la vie de l'instance.
Définition à la ligne 63 du fichier MemoryPool.h.
|
explicit |
Définition à la ligne 349 du fichier MemoryPool.cc.
Arcane::impl::MemoryPool::~MemoryPool | ( | ) |
Définition à la ligne 358 du fichier MemoryPool.cc.
|
overridevirtual |
Alloue un bloc pour size octets.
Implémente Arcane::impl::IMemoryPoolAllocator.
Définition à la ligne 366 du fichier MemoryPool.cc.
void Arcane::impl::MemoryPool::dumpFreeMap | ( | std::ostream & | ostr | ) |
Définition à la ligne 378 du fichier MemoryPool.cc.
void Arcane::impl::MemoryPool::dumpStats | ( | std::ostream & | ostr | ) |
Définition à la ligne 374 du fichier MemoryPool.cc.
void Arcane::impl::MemoryPool::freeCachedMemory | ( | ) |
Libère la mémoire dans le cache.
Définition à la ligne 392 du fichier MemoryPool.cc.
Libère le bloc situé à l'adresse address contenant size octets.
Implémente Arcane::impl::IMemoryPoolAllocator.
Définition à la ligne 370 du fichier MemoryPool.cc.
String Arcane::impl::MemoryPool::name | ( | ) | const |
Définition à la ligne 383 du fichier MemoryPool.cc.
void Arcane::impl::MemoryPool::setMaxCachedBlockSize | ( | size_t | v | ) |
Positionne la taille en octet à partir de laquelle on ne conserve pas un bloc dans le cache.
Cette méthode ne peut être appelé que s'il n'y a aucun bloc dans le cache.
Définition à la ligne 387 du fichier MemoryPool.cc.
|
private |
Définition à la ligne 95 du fichier MemoryPool.h.