sync_shared — Klasa

Opisuje filtr synchronizacji, który używa mutex do kontrolowania dostępu do obiektu pamięci podręcznej, który jest współużytkowany przez wszystkie alokatory.

Składnia

template <class Cache>
class sync_shared

Parametry

Cache
Typ pamięci podręcznej skojarzony z filtrem synchronizacji. Może to być cache_chunklist, cache_freelistlub cache_suballoc.

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

sync_shared::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 blokuje mutex, wywołuje cache.allocate(count)metodę , odblokuje mutex i zwraca wynik wcześniejszego wywołania metody cache.allocate(count). cache reprezentuje bieżący obiekt pamięci podręcznej.

sync_shared::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

Ta funkcja składowa blokuje mutex, wywołuje cache.deallocate(ptr, count)metodę , gdzie cache reprezentuje obiekt pamięci podręcznej, a następnie odblokuje mutex.

sync_shared::equals

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

bool equals(const sync_shared<Cache>& Other) const;

Parametry

Cache
Typ pamięci podręcznej skojarzony z filtrem synchronizacji.

Inne
Pamięć podręczna do porównania pod kątem równości.

Wartość zwracana

true jeśli wynik cache.equals(Other.cache), gdzie cache reprezentuje obiekt pamięci podręcznej, to true; w przeciwnym razie , false.

Uwagi

Zobacz też

<Allocators>