Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::impl::StackMemoryAllocatorfinal

Allocateur avec buffer pré-alloué. Plus de détails...

#include <arcane/utils/SmallArray.h>

+ Graphe d'héritage de Arcane::impl::StackMemoryAllocator:
+ Graphe de collaboration de Arcane::impl::StackMemoryAllocator:

Fonctions membres publiques

 StackMemoryAllocator (void *buf, size_t size)
 
bool hasRealloc () const final
 
voidallocate (size_t new_size) final
 
voidreallocate (void *current_ptr, size_t new_size) final
 
void deallocate (void *ptr) final
 
size_t adjustCapacity (size_t wanted_capacity, size_t) final
 
size_t guarantedAlignment () final
 
- Fonctions membres publiques hérités de Arccore::IMemoryAllocator
virtual ~IMemoryAllocator ()=default
 Détruit l'allocateur.
 
virtual bool hasRealloc (MemoryAllocationArgs args) const
 Indique si l'allocateur supporte la sémantique de realloc.
 
virtual AllocatedMemoryInfo allocate (MemoryAllocationArgs args, Int64 new_size)
 Alloue de la mémoire pour new_size octets et retourne le pointeur.
 
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 deallocate (MemoryAllocationArgs args, AllocatedMemoryInfo ptr)
 Libère la mémoire dont l'adresse de base est ptr.
 
virtual Int64 adjustedCapacity (MemoryAllocationArgs args, Int64 wanted_capacity, Int64 element_size) const
 Ajuste la capacité suivant la taille d'élément.
 
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.
 

Attributs privés

voidm_preallocated_buffer = nullptr
 
size_t m_preallocated_size = 0
 

Description détaillée

Allocateur avec buffer pré-alloué.

Le buffer pré-alloué m_preallocated_buffer est utilisé lorsque la taille demandée pour l'allocation est inférieure ou égale à m_preallocated_size.

Le buffer utilisé doit rester valide durant toute la durée de vie de l'allocateur.

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

◆ adjustCapacity()

size_t Arcane::impl::StackMemoryAllocator::adjustCapacity ( size_t  wanted_capacity,
size_t   
)
inlinefinalvirtual

Implémente Arccore::IMemoryAllocator.

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

◆ allocate()

void * Arcane::impl::StackMemoryAllocator::allocate ( size_t  new_size)
finalvirtual

Implémente Arccore::IMemoryAllocator.

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

◆ deallocate()

void Arcane::impl::StackMemoryAllocator::deallocate ( void ptr)
finalvirtual

Implémente Arccore::IMemoryAllocator.

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

◆ guarantedAlignment()

size_t Arcane::impl::StackMemoryAllocator::guarantedAlignment ( )
inlinefinalvirtual

Implémente Arccore::IMemoryAllocator.

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

◆ hasRealloc()

bool Arcane::impl::StackMemoryAllocator::hasRealloc ( ) const
finalvirtual

Implémente Arccore::IMemoryAllocator.

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

◆ reallocate()

void * Arcane::impl::StackMemoryAllocator::reallocate ( void current_ptr,
size_t  new_size 
)
finalvirtual

Implémente Arccore::IMemoryAllocator.

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

Documentation des données membres

◆ m_preallocated_buffer

void* Arcane::impl::StackMemoryAllocator::m_preallocated_buffer = nullptr
private

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

◆ m_preallocated_size

size_t Arcane::impl::StackMemoryAllocator::m_preallocated_size = 0
private

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


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