max_fixed_size, classe
Décrit un objet de classe max qui limite un objet freelist à une longueur maximale fixe.
Syntaxe
template <std::size_t Max>
class max_fixed_size
Paramètres
Max
Classe maximale qui détermine le nombre maximal d’éléments à stocker dans la freelist
.
Constructeurs
Constructeur | Description |
---|---|
max_fixed_size | Construit un objet de type max_fixed_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_fixed_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
La fonction membre ne fait rien. 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_fixed_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 ne fait rien. 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_fixed_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 Max <= _Nblocks
; sinon, false
.
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_fixed_size ::max_fixed_size
Construit un objet de type max_fixed_size
.
max_fixed_size();
Notes
Ce constructeur initialise la valeur stockée _Nblocks
à zéro.
max_fixed_size ::released
Décrémente le nombre de blocs de mémoire dans la liste libre.
void released();
Notes
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_fixed_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.