Dela via


sync_shared-klass

Beskriver ett synkroniseringsfilter som använder ett mutex för att styra åtkomsten till ett cacheobjekt som delas av alla allokerare.

Syntax

template <class Cache>
class sync_shared

Parameterar

Cache
Den typ av cache som är associerad med synkroniseringsfiltret. Det kan vara cache_chunklist, cache_freelisteller cache_suballoc.

Medlemsfunktioner

Medlemsfunktion Beskrivning
allokera Allokerar ett minnesblock.
frigöra Frigör ett angivet antal objekt från lagring som börjar på en angiven position.
är lika med Jämför två cacheminnen för likhet.

Kravspecifikation

Rubrik:<allokerare>

Namnområde: stdext

sync_shared::allokera

Allokerar ett minnesblock.

void *allocate(std::size_t count);

Parameterar

antal
Antalet element i matrisen som ska allokeras.

Returvärde

En pekare till det allokerade objektet.

Anmärkningar

Medlemsfunktionen låser mutexen, anropar cache.allocate(count), låser upp mutexen och returnerar resultatet av det tidigare anropet till cache.allocate(count). cache representerar det aktuella cacheobjektet.

sync_shared::d eallocate

Frigör ett angivet antal objekt från lagring som börjar på en angiven position.

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

Parameterar

ptr
En pekare till det första objektet som frigörs från lagringen.

antal
Antalet objekt som ska frigöras från lagringen.

Anmärkningar

Den här medlemsfunktionen låser mutexen, anropar cache.deallocate(ptr, count), där cache representerar cacheobjektet och låser sedan upp mutex.

sync_shared::equals

Jämför två cacheminnen för likhet.

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

Parameterar

Cache
Den typ av cache som är associerad med synkroniseringsfiltret.

Övrigt
Cacheminnet som ska jämföras för likhet.

Returvärde

true om resultatet av cache.equals(Other.cache), där cache representerar cacheobjektet, är true, annars , false.

Se även

<allokerare>