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 _Nallocs
stocké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 _Nallocs
stocké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.