Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.