Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.