Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.