Fonctions membres publiques | |
StackMemoryAllocator (void *buf, size_t size) | |
bool | hasRealloc (MemoryAllocationArgs) const final |
Indique si l'allocateur supporte la sémantique de realloc. | |
AllocatedMemoryInfo | allocate (MemoryAllocationArgs args, Int64 new_size) final |
Alloue de la mémoire pour new_size octets et retourne le pointeur. | |
AllocatedMemoryInfo | reallocate (MemoryAllocationArgs args, AllocatedMemoryInfo current_ptr, Int64 new_size) final |
Réalloue de la mémoire pour new_size octets et retourne le pointeur. | |
void | deallocate (MemoryAllocationArgs args, AllocatedMemoryInfo ptr) final |
Libère la mémoire dont l'adresse de base est ptr. | |
Int64 | adjustedCapacity (MemoryAllocationArgs, Int64 wanted_capacity, Int64) const final |
Ajuste la capacité suivant la taille d'élément. | |
size_t | guaranteedAlignment (MemoryAllocationArgs) const final |
Valeur de l'alignement garanti par l'allocateur. | |
![]() | |
virtual | ~IMemoryAllocator ()=default |
Détruit l'allocateur. | |
virtual size_t | guarantedAlignment (MemoryAllocationArgs args) const |
Valeur de l'alignement garanti par l'allocateur. | |
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. | |
virtual eMemoryResource | memoryResource () const |
Ressource mémoire fournie par l'allocateur. | |
Définition à la ligne 38 du fichier SmallArray.h.
|
inline |
Définition à la ligne 43 du fichier SmallArray.h.
|
inlinefinalvirtual |
Ajuste la capacité suivant la taille d'élément.
Cette méthode est utilisée pour éventuellement modifié le nombre d'éléments alloués suivant leur taille. Cela permet par exemple pour les allocateurs alignés de garantir que le nombre d'éléments alloués est un multiple de cet alignement.
Implémente Arcane::IMemoryAllocator.
Définition à la ligne 54 du fichier SmallArray.h.
|
finalvirtual |
Alloue de la mémoire pour new_size octets et retourne le pointeur.
La sémantique est équivalent à malloc():
Implémente Arcane::IMemoryAllocator.
Définition à la ligne 34 du fichier SmallArray.cc.
|
finalvirtual |
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.
Implémente Arcane::IMemoryAllocator.
Définition à la ligne 90 du fichier SmallArray.cc.
Références Arcane::AllocatedMemoryInfo::baseAddress().
|
inlinefinalvirtual |
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.
Implémente Arcane::IMemoryAllocator.
Définition à la ligne 55 du fichier SmallArray.h.
|
inlinefinalvirtual |
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 Arcane::IMemoryAllocator.
Définition à la ligne 50 du fichier SmallArray.h.
|
finalvirtual |
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():
Implémente Arcane::IMemoryAllocator.
Définition à la ligne 51 du fichier SmallArray.cc.
Références Arcane::AllocatedMemoryInfo::baseAddress().