Classe pour gérer une liste de zones allouées. Plus de détails...
Graphe d'héritage de Arcane::Impl::MemoryPool:
Graphe de collaboration de Arcane::Impl::MemoryPool:Classes | |
| class | Impl |
Fonctions membres publiques | |
| MemoryPool (IMemoryPoolAllocator *allocator, const String &name) | |
| MemoryPool (const MemoryPool &)=delete | |
| MemoryPool (MemoryPool &&)=delete | |
| MemoryPool & | operator= (const MemoryPool &)=delete |
| MemoryPool & | operator= (MemoryPool &&)=delete |
| 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 (Int32 v) override |
| Implémentation de IMemoryPool. | |
| void | freeCachedMemory () override |
| Libère la mémoire dans le cache. | |
| size_t | totalAllocated () const override |
| Taille totale (en octet) allouée dans le pool mémoire. | |
| size_t | totalCached () const override |
| Taille totale (en octet) dans le cache. | |
Attributs privés | |
| std::unique_ptr< Impl > | m_p |
Classe pour gérer une liste de zones 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 347 du fichier MemoryPool.cc.
|
override |
Définition à la ligne 356 du fichier MemoryPool.cc.
|
overridevirtual |
Alloue un bloc pour size octets.
Implémente Arcane::Impl::IMemoryPoolAllocator.
Définition à la ligne 364 du fichier MemoryPool.cc.
| void Arcane::Impl::MemoryPool::dumpFreeMap | ( | std::ostream & | ostr | ) |
Définition à la ligne 376 du fichier MemoryPool.cc.
| void Arcane::Impl::MemoryPool::dumpStats | ( | std::ostream & | ostr | ) |
Définition à la ligne 372 du fichier MemoryPool.cc.
|
overridevirtual |
Libère la mémoire dans le cache.
Implémente Arcane::IMemoryPool.
Définition à la ligne 390 du fichier MemoryPool.cc.
|
overridevirtual |
Libère le bloc situé à l'adresse address contenant size octets.
Implémente Arcane::Impl::IMemoryPoolAllocator.
Définition à la ligne 368 du fichier MemoryPool.cc.
| String Arcane::Impl::MemoryPool::name | ( | ) | const |
Définition à la ligne 381 du fichier MemoryPool.cc.
|
overridevirtual |
Implémentation de IMemoryPool.
Implémente Arcane::IMemoryPool.
Définition à la ligne 385 du fichier MemoryPool.cc.
|
overridevirtual |
Taille totale (en octet) allouée dans le pool mémoire.
Implémente Arcane::IMemoryPool.
Définition à la ligne 395 du fichier MemoryPool.cc.
|
overridevirtual |
Taille totale (en octet) dans le cache.
Implémente Arcane::IMemoryPool.
Définition à la ligne 400 du fichier MemoryPool.cc.
|
private |
Définition à la ligne 99 du fichier MemoryPool.h.