Partager via


max_variable_size, classe

Décrit un objet de classe max qui limite un objet freelist à une longueur maximale qui est à peu près proportionnelle au nombre de blocs de mémoire alloués.

Syntaxe

class max_variable_size

Constructeurs

Constructeur Description
max_variable_size Construit un objet de type max_variable_size.

Fonctions Membre

Fonction membre Description
allocated Incrémente le nombre de blocs de mémoire alloués.
deallocated Décrémente le nombre de blocs de mémoire alloués.
full Retourne une valeur qui indique si davantage de blocs de mémoire doivent être ajoutés à la liste libre.
released Décrémente le nombre de blocs de mémoire dans la liste libre.
saved Incrémente le nombre de blocs de mémoire dans la liste libre.

Spécifications

Header :<allocators>

Espace de noms : stdext

max_variable_size ::allocation

Incrémente le nombre de blocs de mémoire alloués.

void allocated(std::size_t _Nx = 1);

Paramètres

_Nx
Valeur d’incrément.

Notes

Cette fonction membre ajoute _Nx à la valeur _Nallocsstockée. Cette fonction membre est appelée après chaque appel réussi par cache_freelist::allocate à l’opérateur new. L’argument _Nx correspond au nombre de blocs de mémoire dans le bloc alloué par l’opérateur new.

max_variable_size ::d allouée

Décrémente le nombre de blocs de mémoire alloués.

void deallocated(std::size_t _Nx = 1);

Paramètres

_Nx
Valeur d’incrément.

Notes

La fonction membre soustrait _Nx de la valeur _Nallocsstockée. Cette fonction membre est appelée après chaque appel par cache_freelist::deallocate à l’opérateur delete. L’argument _Nx correspond au nombre de blocs de mémoire dans le bloc libéré par l’opérateur delete.

max_variable_size ::full

Retourne une valeur qui indique si davantage de blocs de mémoire doivent être ajoutés à la liste libre.

bool full();

Valeur de retour

true si _Nallocs / 16 + 16 <= _Nblocks.

Notes

Cette fonction membre est appelée par cache_freelist::deallocate. Si l’appel retourne true, deallocate place le bloc de mémoire dans la liste libre ; s’il retourne false, deallocate appelle l’opérateur delete pour libérer le bloc.

max_variable_size ::max_variable_size

Construit un objet de type max_variable_size.

max_variable_size();

Notes

Le constructeur initialise les valeurs stockées _Nblocks et _Nallocs à zéro.

max_variable_size ::released

Décrémente le nombre de blocs de mémoire dans la liste libre.

void released();

Notes

Cette fonction membre décrémente la valeur stockée _Nblocks. La fonction membre released de la classe max actuelle est appelée par cache_freelist::allocate chaque fois qu’elle supprime un bloc de mémoire de la liste libre.

max_variable_size ::saved

Incrémente le nombre de blocs de mémoire dans la liste libre.

void saved();

Notes

Cette fonction membre incrémente la valeur stockée _Nblocks. Cette fonction membre est appelée par cache_freelist::deallocate chaque fois qu’elle place un bloc de mémoire dans la liste libre.

Voir aussi

<allocators>