Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zarządza listą bloków pamięci.
Składnia
template <std::size_t Sz, class Max>
class freelist : public Max
Parametry
Sz
Liczba elementów w tablicy do przydzielenia.
Maksimum
Maksymalna klasa reprezentująca maksymalną liczbę elementów, które mają być przechowywane na liście bezpłatnej. Maksymalna klasa może być max_none, max_unbounded, max_fixed_size lub max_variable_size.
Uwagi
Ten szablon klasy zarządza listą bloków pamięci o rozmiarze Sz o maksymalnej długości listy określonej przez maksymalną klasę przekazaną w polu Max.
Konstruktory
| Konstruktor | opis |
|---|---|
| lista bezpłatna | Tworzy obiekt typu freelist. |
Funkcje składowe
| Funkcja składowa | opis |
|---|---|
| Pop | Usuwa pierwszy blok pamięci z bezpłatnej listy. |
| wypychania | Dodaje blok pamięci do listy. |
Wymagania
Nagłówek:<alokatory>
Przestrzeń nazw: stdext
freelist::freelist
Tworzy obiekt typu freelist.
freelist();
freelist::p op
Usuwa pierwszy blok pamięci z bezpłatnej listy.
void *pop();
Wartość zwracana
Zwraca wskaźnik do bloku pamięci usuniętego z listy.
Uwagi
Funkcja składowa zwraca wartość NULL, jeśli lista jest pusta. W przeciwnym razie usuwa pierwszy blok pamięci z listy.
freelist::p ush
Dodaje blok pamięci do listy.
bool push(void* ptr);
Parametry
ptr
Wskaźnik do bloku pamięci, który ma zostać dodany do bezpłatnej listy.
Wartość zwracana
true
full jeśli funkcja klasy max zwraca falsewartość ; w przeciwnym razie push funkcja zwraca falsewartość .
Uwagi
full Jeśli funkcja klasy max zwraca falsewartość , ta funkcja składowa dodaje blok pamięci wskazywany przez ptr do nagłówka listy.