Partager via


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.

Notes

Voir aussi

<allocators>