Allocateur mémoire via malloc/realloc/free. Plus de détails...
#include <arccore/collections/IMemoryAllocator.h>
Fonctions membres publiques | |
bool | hasRealloc () const override |
void * | allocate (size_t new_size) override |
void * | reallocate (void *current_ptr, size_t new_size) override |
void | deallocate (void *ptr) override |
size_t | adjustCapacity (size_t wanted_capacity, size_t element_size) override |
size_t | guarantedAlignment () override |
virtual size_t | adjustCapacity (size_t wanted_capacity, size_t element_size)=0 |
virtual AllocatedMemoryInfo | allocate (MemoryAllocationArgs args, Int64 new_size) |
Alloue de la mémoire pour new_size octets et retourne le pointeur. | |
virtual void * | allocate (size_t new_size)=0 |
virtual void | deallocate (MemoryAllocationArgs args, AllocatedMemoryInfo ptr) |
Libère la mémoire dont l'adresse de base est ptr. | |
virtual void | deallocate (void *ptr)=0 |
virtual size_t | guarantedAlignment (MemoryAllocationArgs args) const |
Valeur de l'alignement garanti par l'allocateur. | |
virtual size_t | guarantedAlignment ()=0 |
virtual bool | hasRealloc (MemoryAllocationArgs args) const |
Indique si l'allocateur supporte la sémantique de realloc. | |
virtual bool | hasRealloc () const=0 |
virtual AllocatedMemoryInfo | reallocate (MemoryAllocationArgs args, AllocatedMemoryInfo current_ptr, Int64 new_size) |
Réalloue de la mémoire pour new_size octets et retourne le pointeur. | |
virtual void * | reallocate (void *current_ptr, size_t new_size)=0 |
Fonctions membres publiques hérités de Arccore::IMemoryAllocator | |
virtual | ~IMemoryAllocator ()=default |
Détruit l'allocateur. | |
virtual Int64 | adjustedCapacity (MemoryAllocationArgs args, Int64 wanted_capacity, Int64 element_size) const |
Ajuste la capacité suivant la taille d'élément. | |
virtual void | notifyMemoryArgsChanged (MemoryAllocationArgs old_args, MemoryAllocationArgs new_args, AllocatedMemoryInfo ptr) |
Notifie du changement des arguments spécifiques à l'instance. | |
virtual void | copyMemory (MemoryAllocationArgs args, AllocatedMemoryInfo destination, AllocatedMemoryInfo source) |
Copie la mémoire entre deux zones. | |
Allocateur mémoire via malloc/realloc/free.
TODO: marquer les méthodes comme 'final'.
Définition à la ligne 258 du fichier arccore/src/collections/arccore/collections/IMemoryAllocator.h.
|
overridevirtual |
Implémente Arccore::IMemoryAllocator.
Définition à la ligne 106 du fichier MemoryAllocator.cc.
|
virtual |
Implémente Arccore::IMemoryAllocator.
|
virtual |
Alloue de la mémoire pour new_size octets et retourne le pointeur.
La sémantique est équivalent à malloc():
Réimplémentée à partir de Arccore::IMemoryAllocator.
Réimplémentée dans Arccore::PrintableMemoryAllocator.
Définition à la ligne 75 du fichier MemoryAllocator.cc.
|
overridevirtual |
Implémente Arccore::IMemoryAllocator.
Définition à la ligne 79 du fichier MemoryAllocator.cc.
|
virtual |
Implémente Arccore::IMemoryAllocator.
|
virtual |
Libère la mémoire dont l'adresse de base est ptr.
Le pointeur ptr doit avoir été alloué via l'appel à allocate() ou reallocate() de cette instance.
La sémantique de cette méthode équivalente à free() et donc ptr peut être nul auquel cas aucune opération n'est effectuée.
Réimplémentée à partir de Arccore::IMemoryAllocator.
Réimplémentée dans Arccore::PrintableMemoryAllocator.
Définition à la ligne 99 du fichier MemoryAllocator.cc.
|
overridevirtual |
Implémente Arccore::IMemoryAllocator.
Définition à la ligne 97 du fichier MemoryAllocator.cc.
|
virtual |
Implémente Arccore::IMemoryAllocator.
|
inlineoverridevirtual |
Implémente Arccore::IMemoryAllocator.
Définition à la ligne 277 du fichier arccore/src/collections/arccore/collections/IMemoryAllocator.h.
|
virtual |
Implémente Arccore::IMemoryAllocator.
|
virtual |
Valeur de l'alignement garanti par l'allocateur.
Cette méthode permet de s'assurer qu'un allocateur a un alignement suffisant pour certaines opérations comme la vectorisation par exemple.
S'il n'y a aucune garantie, retourne 0.
Réimplémentée à partir de Arccore::IMemoryAllocator.
Définition à la ligne 120 du fichier MemoryAllocator.cc.
|
overridevirtual |
Implémente Arccore::IMemoryAllocator.
Définition à la ligne 70 du fichier MemoryAllocator.cc.
|
virtual |
Implémente Arccore::IMemoryAllocator.
|
virtual |
Indique si l'allocateur supporte la sémantique de realloc.
Les allocateurs par défaut du C (malloc/realloc/free) supportent évidemment le realloc mais ce n'est pas forcément le cas des allocateurs spécifiques avec alignement mémoire (comme par exemple posix_memalign).
Réimplémentée à partir de Arccore::IMemoryAllocator.
Définition à la ligne 65 du fichier MemoryAllocator.cc.
|
virtual |
Réalloue de la mémoire pour new_size octets et retourne le pointeur.
Le pointeur current_ptr doit avoir été alloué via l'appel à allocate() ou reallocate() de cette instance.
La sémantique de cette méthode est équivalente à realloc():
Réimplémentée à partir de Arccore::IMemoryAllocator.
Réimplémentée dans Arccore::PrintableMemoryAllocator.
Définition à la ligne 88 du fichier MemoryAllocator.cc.
|
overridevirtual |
Implémente Arccore::IMemoryAllocator.
Définition à la ligne 88 du fichier MemoryAllocator.cc.
|
virtual |
Implémente Arccore::IMemoryAllocator.