freelist — Klasa

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.
push Dodaje blok pamięci do listy.

Wymagania

Nagłówek:<alokatory>

Przestrzeń nazw: stdext

freelist::freelist

Tworzy obiekt typu freelist.

freelist();

Uwagi

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

truefull 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.

Zobacz też

<Allocators>