cache_chunklist, 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, std::size_t Nelts = 20>
class cache_chunklist
Paramètres
Sz
Nombre d’éléments du tableau à allouer.
Notes
Ce modèle de classe utilise l’opérateur nouveau pour allouer des blocs de mémoire brute, des blocs de sous-allocation pour allouer du stockage pour un bloc de mémoire si nécessaire ; il stocke les blocs de mémoire désalloués dans une liste libre distincte pour chaque bloc et utilise la suppression d’opérateur pour libérer un bloc quand aucun de ses blocs de mémoire n’est utilisé.
Chaque bloc de mémoire contient Sz octets de mémoire utilisable et un pointeur vers le bloc auquel il appartient. Chaque bloc contient Nelts
des blocs de mémoire, trois pointeurs, un int et les données requises par l’opérateur new and operator delete .
Constructeurs
Constructeur | Description |
---|---|
cache_chunklist | Construit un objet de type cache_chunklist . |
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_chunklist ::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_chunklist ::cache_chunklist
Construit un objet de type cache_chunklist
.
cache_chunklist();
Notes
cache_chunklist ::d alallouer
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.