12#ifndef ARCCORE_COMMON_INTERNAL_MEMORYPOOL_H
13#define ARCCORE_COMMON_INTERNAL_MEMORYPOOL_H
17#include "arccore/common/IMemoryPool.h"
63class ARCCORE_COMMON_EXPORT MemoryPool
72 ~MemoryPool()
override;
76 MemoryPool(
const MemoryPool&) =
delete;
77 MemoryPool(MemoryPool&&) =
delete;
78 MemoryPool& operator=(
const MemoryPool&) =
delete;
79 MemoryPool& operator=(MemoryPool&&) =
delete;
84 void freeMemory(
void* ptr,
size_t size)
override;
85 void dumpStats(std::ostream& ostr);
86 void dumpFreeMap(std::ostream& ostr);
99 std::unique_ptr<Impl> m_p;
Interface d'un pool mémoire.
Interface d'un allocateur pour un MemoryPool.
virtual void freeMemory(void *address, size_t size)=0
Libère le bloc situé à l'adresse address contenant size octets.
virtual void * allocateMemory(size_t size)=0
Alloue un bloc pour size octets.
void * allocateMemory(size_t size) override
Alloue un bloc pour size octets.
void setMaxCachedBlockSize(Int32 v) override
Implémentation de IMemoryPool.
size_t totalCached() const override
Taille totale (en octet) dans le cache.
size_t totalAllocated() const override
Taille totale (en octet) allouée dans le pool mémoire.
void freeCachedMemory() override
Libère la mémoire dans le cache.
void freeMemory(void *ptr, size_t size) override
Libère le bloc situé à l'adresse address contenant size octets.
Chaîne de caractères unicode.
std::int32_t Int32
Type entier signé sur 32 bits.