freelist, classe
Gère une liste de blocs de mémoire.
Syntaxe
template <std::size_t Sz, class Max>
class freelist : public Max
Paramètres
Sz
Nombre d’éléments du tableau à allouer.
Max
Classe max représentant le nombre maximal d’éléments à stocker dans la liste de libération. La classe max peut être max_none, max_unbounded, max_fixed_size oumax_variable_size.
Notes
Ce modèle de classe gère une liste de blocs de mémoire de taille Sz avec la longueur maximale de la liste déterminée par la classe maximale passée dans Max.
Constructeurs
Constructeur | Description |
---|---|
freelist | Construit un objet de type freelist . |
Fonctions Membre
Fonction membre | Description |
---|---|
pop | Supprime le premier bloc de mémoire de la liste de libération. |
push | Ajoute un bloc de mémoire à la liste. |
Spécifications
Header :<allocators>
Espace de noms : stdext
freelist ::freelist
Construit un objet de type freelist
.
freelist();
Notes
freelist ::p op
Supprime le premier bloc de mémoire de la liste de libération.
void *pop();
Valeur de retour
Retourne un pointeur vers le bloc de mémoire supprimé de la liste.
Notes
La fonction membre retourne NULL si la liste est vide. Sinon, elle supprime le premier bloc de mémoire de la liste.
freelist ::p ush
Ajoute un bloc de mémoire à la liste.
bool push(void* ptr);
Paramètres
ptr
Pointeur vers le bloc de mémoire à ajouter à la liste de libération.
Valeur de retour
true
si la fonction full
de la classe max retourne false
; sinon, la fonction push
retourne false
.
Notes
Si la full
fonction de la classe max retourne false
, cette fonction membre ajoute le bloc de mémoire pointé par ptr à la tête de la liste.