Arcane  v3.16.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::impl::StackMemoryAllocatorfinal

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.
 
- Fonctions membres publiques hérités de Arcane::IMemoryAllocator
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.
 

Description détaillée

Définition à la ligne 38 du fichier SmallArray.h.

Documentation des constructeurs et destructeur

◆ StackMemoryAllocator()

Arcane::impl::StackMemoryAllocator::StackMemoryAllocator ( void * buf,
size_t size )
inline

Définition à la ligne 43 du fichier SmallArray.h.

Documentation des fonctions membres

◆ adjustedCapacity()

Int64 Arcane::impl::StackMemoryAllocator::adjustedCapacity ( MemoryAllocationArgs args,
Int64 wanted_capacity,
Int64 element_size ) const
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.

◆ allocate()

AllocatedMemoryInfo Arcane::impl::StackMemoryAllocator::allocate ( MemoryAllocationArgs args,
Int64 new_size )
finalvirtual

Alloue de la mémoire pour new_size octets et retourne le pointeur.

La sémantique est équivalent à malloc():

  • new_size peut valoir zéro et dans ce cas le pointeur retourné est soit nul, soit une valeur spécifique
  • le pointeur retourné peut être nul si la mémoire n'a pas pu être allouée.

Implémente Arcane::IMemoryAllocator.

Définition à la ligne 34 du fichier SmallArray.cc.

◆ deallocate()

void Arcane::impl::StackMemoryAllocator::deallocate ( MemoryAllocationArgs args,
AllocatedMemoryInfo ptr )
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().

◆ guaranteedAlignment()

size_t Arcane::impl::StackMemoryAllocator::guaranteedAlignment ( MemoryAllocationArgs args) const
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.

◆ hasRealloc()

bool Arcane::impl::StackMemoryAllocator::hasRealloc ( MemoryAllocationArgs ) const
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.

◆ reallocate()

AllocatedMemoryInfo Arcane::impl::StackMemoryAllocator::reallocate ( MemoryAllocationArgs args,
AllocatedMemoryInfo current_ptr,
Int64 new_size )
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():

  • current_ptr peut-être nul auquel cas cet appel est équivalent à allocate().
  • le pointeur retourné peut être nul si la mémoire n'a pas pu être allouée.

Implémente Arcane::IMemoryAllocator.

Définition à la ligne 51 du fichier SmallArray.cc.

Références Arcane::AllocatedMemoryInfo::baseAddress().


La documentation de cette classe a été générée à partir des fichiers suivants :