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_freelist
lub 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.