Allocateur pour tester les arguments. Plus de détails...
Fonctions membres publiques | |
bool | hasRealloc (MemoryAllocationArgs args) const override |
Indique si l'allocateur supporte la sémantique de realloc. | |
AllocatedMemoryInfo | allocate (MemoryAllocationArgs args, Int64 new_size) override |
Alloue de la mémoire pour new_size octets et retourne le pointeur. | |
AllocatedMemoryInfo | reallocate (MemoryAllocationArgs args, AllocatedMemoryInfo current_ptr, Int64 new_size) override |
Réalloue de la mémoire pour new_size octets et retourne le pointeur. | |
void | deallocate (MemoryAllocationArgs args, AllocatedMemoryInfo ptr) override |
Libère la mémoire dont l'adresse de base est ptr. | |
Int64 | adjustedCapacity (MemoryAllocationArgs args, Int64 wanted_capacity, Int64 element_size) const override |
Ajuste la capacité suivant la taille d'élément. | |
size_t | guarantedAlignment (MemoryAllocationArgs args) const override |
Valeur de l'alignement garanti par l'allocateur. | |
void | notifyMemoryArgsChanged (MemoryAllocationArgs old_args, MemoryAllocationArgs new_args, AllocatedMemoryInfo ptr) override |
Notifie du changement des arguments spécifiques à l'instance. | |
Fonctions membres publiques hérités de Arccore::IMemoryAllocator | |
virtual | ~IMemoryAllocator ()=default |
Détruit l'allocateur. | |
virtual size_t | guaranteedAlignment (MemoryAllocationArgs args) const |
Valeur de l'alignement garanti par l'allocateur. | |
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. | |
Fonctions membres privées statiques | |
static void | _checkValid (MemoryAllocationArgs args) |
Attributs privés | |
DefaultMemoryAllocator3 | m_default_allocator |
Allocateur pour tester les arguments.
Permet de vérifier qu'on a bien appelé avec les bons arguments. On ne doit l'appeler qu'avec args.memoryLocationHint() qui vaut eMemoryLocationHint::None or eMemoryLocationHint::HostAndDeviceMostlyRead
Définition à la ligne 867 du fichier TestArray.cc.
|
inlinestaticprivate |
Définition à la ligne 918 du fichier TestArray.cc.
|
inlineoverridevirtual |
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 Arccore::IMemoryAllocator3.
Définition à la ligne 892 du fichier TestArray.cc.
Références Arccore::DefaultMemoryAllocator3::adjustedCapacity().
|
inlineoverridevirtual |
Alloue de la mémoire pour new_size octets et retourne le pointeur.
La sémantique est équivalent à malloc():
Implémente Arccore::IMemoryAllocator3.
Définition à la ligne 877 du fichier TestArray.cc.
Références Arccore::DefaultMemoryAllocator3::allocate().
|
inlineoverridevirtual |
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 Arccore::IMemoryAllocator3.
Définition à la ligne 887 du fichier TestArray.cc.
Références Arccore::DefaultMemoryAllocator3::deallocate().
|
inlineoverridevirtual |
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 Arccore::IMemoryAllocator3.
Définition à la ligne 897 du fichier TestArray.cc.
Références Arccore::IMemoryAllocator::guaranteedAlignment().
|
inlineoverridevirtual |
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::IMemoryAllocator3.
Définition à la ligne 872 du fichier TestArray.cc.
Références Arccore::DefaultMemoryAllocator3::hasRealloc().
|
inlineoverridevirtual |
Notifie du changement des arguments spécifiques à l'instance.
ptr | zone mémoire allouée |
old_args | ancienne valeur des arguments |
new_args | nouvelle valeur des arguments |
Réimplémentée à partir de Arccore::IMemoryAllocator.
Définition à la ligne 903 du fichier TestArray.cc.
Références Arccore::IMemoryAllocator::notifyMemoryArgsChanged(), et Arccore::AllocatedMemoryInfo::size().
|
inlineoverridevirtual |
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 Arccore::IMemoryAllocator3.
Définition à la ligne 882 du fichier TestArray.cc.
Références Arccore::DefaultMemoryAllocator3::reallocate().
|
private |
Définition à la ligne 914 du fichier TestArray.cc.