Partager via


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.

Voir aussi

<allocators>