Udostępnij za pośrednictwem


rts_alloc — Klasa

Szablon klasy rts_alloc opisuje filtr , który zawiera tablicę wystąpień pamięci podręcznej i określa, które wystąpienie ma być używane do alokacji i cofania alokacji w czasie wykonywania, a nie w czasie kompilacji.

Składnia

template <class Cache>
class rts_alloc

Parametry

Cache
Typ wystąpień pamięci podręcznej zawartych w tablicy. Może to być cache_chunklist, cache_freelistlub cache_suballoc.

Uwagi

Ten szablon klasy zawiera wiele wystąpień alokatora bloków i określa, które wystąpienie ma być używane do alokacji lub cofania alokacji w czasie wykonywania, a nie w czasie kompilacji. Jest on używany z kompilatorami, których nie można skompilować ponownie.

Funkcje składowe

Funkcja składowa opis
allocate Przydziela blok pamięci.
Deallocate Zwalnia określoną liczbę obiektów z magazynu rozpoczynającego się na określonej pozycji.
equals Porównuje dwie pamięci podręczne pod kątem równości.

Wymagania

Nagłówek:<alokatory>

Przestrzeń nazw: stdext

rts_alloc::przydziel

Przydziela blok pamięci.

void *allocate(std::size_t count);

Parametry

count
Liczba elementów w tablicy do przydzielenia.

Wartość zwracana

Wskaźnik do przydzielonego obiektu.

Uwagi

Funkcja składowa zwraca caches[_IDX].allocate(count)wartość , gdzie indeks _IDX jest określany przez żądaną liczbę rozmiarów bloków lub, jeśli liczba jest zbyt duża, zwraca wartość operator new(count). cache, który reprezentuje obiekt pamięci podręcznej.

rts_alloc::d eallocate

Zwalnia określoną liczbę obiektów z magazynu rozpoczynającego się na określonej pozycji.

void deallocate(void* ptr, std::size_t count);

Parametry

ptr
Wskaźnik do pierwszego obiektu, który ma zostać cofnięty z magazynu.

count
Liczba obiektów do cofnięcia przydziału z magazynu.

Uwagi

Funkcja składowa wywołuje caches[_IDX].deallocate(ptr, count)metodę , gdzie indeks _IDX jest określany przez żądaną liczbę rozmiarów bloków lub, jeśli liczba jest zbyt duża, zwraca wartość operator delete(ptr).

rts_alloc::equals

Porównuje dwie pamięci podręczne pod kątem równości.

bool equals(const sync<_Cache>& _Other) const;

Parametry

_Pamięć podręczna
Obiekt pamięci podręcznej skojarzony z filtrem.

_Inny
Obiekt pamięci podręcznej do porównania pod kątem równości.

Uwagi

true jeśli wynik ; caches[0].equals(other.caches[0])w przeciwnym razie , false. caches reprezentuje tablicę obiektów pamięci podręcznej.

Zobacz też

ALLOCATOR_DECL
<Allocators>