Classe max_variable_size
Descrive un oggetto max class che limita un oggetto freelist a una lunghezza massima approssimativamente proporzionale al numero di blocchi di memoria allocati.
Sintassi
class max_variable_size
Costruttori
Costruttore | Descrizione |
---|---|
max_variable_size | Costruisce un oggetto di tipo max_variable_size . |
Funzioni membro
Funzione membro | Descrizione |
---|---|
allocated | Incrementa il conteggio dei blocchi di memoria allocati. |
deallocated | Decrementa il conteggio dei blocchi di memoria allocati. |
full | Restituisce un valore che specifica se all'elenco di disponibilità devono essere aggiunti altri blocchi di memoria. |
released | Decrementa il conteggio dei blocchi di memoria nell'elenco di disponibilità. |
saved | Incrementa il conteggio dei blocchi di memoria nell'elenco di disponibilità. |
Requisiti
Intestazione:<allocatori>
Spazio dei nomi: stdext
max_variable_size::allocate
Incrementa il conteggio dei blocchi di memoria allocati.
void allocated(std::size_t _Nx = 1);
Parametri
_Nx
Valore di incremento.
Osservazioni:
Questa funzione membro aggiunge _Nx al valore _Nallocs
archiviato . Questa funzione viene chiamata dopo ogni chiamata eseguita da cache_freelist::allocate
all'operatore new
. L'argomento _Nx è il numero di blocchi di memoria nel blocco allocato dall'operatore new
.
max_variable_size::d eallocated
Decrementa il conteggio dei blocchi di memoria allocati.
void deallocated(std::size_t _Nx = 1);
Parametri
_Nx
Valore di incremento.
Osservazioni:
La funzione membro sottrae _Nx dal valore _Nallocs
archiviato . Questa funzione viene chiamata dopo ogni chiamata eseguita da cache_freelist::deallocate
all'operatore delete
. L'argomento _Nx è il numero di blocchi di memoria nel blocco deallocato dall'operatore delete
.
max_variable_size::full
Restituisce un valore che specifica se all'elenco di disponibilità devono essere aggiunti altri blocchi di memoria.
bool full();
Valore restituito
true
se _Nallocs / 16 + 16 <= _Nblocks
.
Osservazioni:
Questa funzione membro viene chiamata da cache_freelist::deallocate
. Se la chiamata restituisce true
, deallocate
inserisce il blocco di memoria nell'elenco di disponibilità; se restituisce false, deallocate
chiama l'operatore delete
per deallocare il blocco.
max_variable_size::max_variable_size
Costruisce un oggetto di tipo max_variable_size
.
max_variable_size();
Osservazioni:
Il costruttore inizializza i valori archiviati _Nblocks
e _Nallocs
su zero.
max_variable_size::released
Decrementa il conteggio dei blocchi di memoria nell'elenco di disponibilità.
void released();
Osservazioni:
Questa funzione membro decrementa il valore archiviato _Nblocks
. La funzione membro released
della classe max corrente viene chiamata da cache_freelist::allocate
ogni volta che rimuove un blocco di memoria dall'elenco di disponibilità.
max_variable_size::saved
Incrementa il conteggio dei blocchi di memoria nell'elenco di disponibilità.
void saved();
Osservazioni:
Questa funzione membro incrementa il valore archiviato _Nblocks
. Viene chiamata da cache_freelist::deallocate
ogni volta che inserisce un blocco di memoria nell'elenco di disponibilità.