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;
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, Int64 size)=0
Libère le bloc situé à l'adresse address contenant size octets.
virtual void * allocateMemory(Int64 size)=0
Alloue un bloc pour size octets.
void setMaxCachedBlockSize(Int32 v) override
Implémentation de IMemoryPool.
void freeMemory(void *ptr, Int64 size) override
Libère le bloc situé à l'adresse address contenant size octets.
void * allocateMemory(Int64 size) override
Alloue un bloc pour size octets.
Int64 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.
Int64 totalCached() const override
Taille totale (en octet) dans le cache.
Chaîne de caractères unicode.
std::int64_t Int64
Type entier signé sur 64 bits.
std::int32_t Int32
Type entier signé sur 32 bits.