Share via


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 _Nallocsarchiviato . 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 _Nallocsarchiviato . 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à.

Vedi anche

<allocators>