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.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour