cache_freelist, classe
Définit un allocateur de blocs qui alloue et désalloue des blocs de mémoire de taille unique.
Syntaxe
template <std::size_t Sz, class Max>
class cache_freelist
Paramètres
Sz
Nombre d’éléments du tableau à allouer.
Max
Classe max représentant la taille maximale de la liste de libération. Cette taille peut être max_fixed_size, max_none, max_unbounded ou max_variable_size.
Notes
Le modèle de classe cache_freelist conserve une liste libre de blocs de mémoire de taille Sz. Lorsque la liste gratuite est complète, elle utilise la suppression d’opérateur pour libérer des blocs de mémoire. Lorsque la liste gratuite est vide, elle utilise l’opérateur nouveau pour allouer de nouveaux blocs de mémoire. La taille maximale de la liste libre est déterminée par la classe max de classe passée dans le paramètre Max .
Chaque bloc de mémoire contient Sz octets de mémoire utilisable et les données requises par l’opérateur nouveau et l’opérateur delete .
Constructeurs
Constructeur | Description |
---|---|
cache_freelist | Construit un objet de type cache_freelist . |
Fonctions Membre
Fonction membre | Description |
---|---|
allocate | Alloue un bloc de mémoire. |
deallocate | Libère du stockage un nombre d'objets spécifié à partir d'une position spécifiée. |
Spécifications
Header :<allocators>
Espace de noms : stdext
cache_freelist ::allocate
Alloue un bloc de mémoire.
void *allocate(std::size_t count);
Paramètres
count
Nombre d’éléments du tableau à allouer.
Valeur de retour
Un pointeur vers l’objet alloué.
Notes
cache_freelist ::cache_freelist
Construit un objet de type cache_freelist
.
cache_freelist();
Notes
cache_freelist ::d allocation
Libère du stockage un nombre d'objets spécifié à partir d'une position spécifiée.
void deallocate(void* ptr, std::size_t count);
Paramètres
ptr
Pointeur vers le premier objet à désallouer dans le stockage.
count
Nombre d’objets à désallouer dans le stockage.