Dela via


freelist-klass

Hanterar en lista över minnesblock.

Syntax

template <std::size_t Sz, class Max>
class freelist : public Max

Parameterar

Sz
Antalet element i matrisen som ska allokeras.

Max
Den högsta klassen som representerar det maximala antalet element som ska lagras i den kostnadsfria listan. Maxklassen kan vara max_none, max_unbounded, max_fixed_size eller max_variable_size.

Anmärkningar

Den här klassmallen hanterar en lista över minnesblock av storlek Sz med den maximala längden på listan som bestäms av den maxklass som skickades i Max.

Konstruktörer

Konstruktor Beskrivning
freelist Konstruerar ett objekt av typen freelist.

Medlemsfunktioner

Medlemsfunktion Beskrivning
Pop Tar bort det första minnesblocket från den kostnadsfria listan.
push- Lägger till ett minnesblock i listan.

Kravspecifikation

Rubrik:<allokerare>

Namnområde: stdext

freelist::freelist

Konstruerar ett objekt av typen freelist.

freelist();

freelist::p op

Tar bort det första minnesblocket från den kostnadsfria listan.

void *pop();

Returvärde

Returnerar en pekare till minnesblocket som tagits bort från listan.

Anmärkningar

Medlemsfunktionen returnerar NULL om listan är tom. Annars tar det bort det första minnesblocket från listan.

freelist::p ush

Lägger till ett minnesblock i listan.

bool push(void* ptr);

Parameterar

ptr
En pekare till minnesblocket som ska läggas till i den kostnadsfria listan.

Returvärde

true om funktionen för full maxklassen returnerar false, annars push returnerar falsefunktionen .

Anmärkningar

Om funktionen för full maxklassen returnerar falselägger den här medlemsfunktionen till minnesblocket som pekas på av ptr i listans huvud.

Se även

<allokerare>