sync_shared, classe
Décrit un filtre de synchronisation qui utilise un mutex pour contrôler l’accès à un objet cache partagé par tous les allocateurs.
Syntaxe
template <class Cache>
class sync_shared
Paramètres
Cache
Type de cache associé au filtre de synchronisation. Il peut s’agir de cache_chunklist
, cache_freelist
ou cache_suballoc
.
Fonctions Membre
Fonction membre | Description |
---|---|
allocate | Alloue un bloc de mémoire. |
deallocate | Libère du stockage un nombre d'objets spécifié à partir d'une position spécifiée. |
equals | Compare l'égalité de deux caches. |
Spécifications
Header :<allocators>
Espace de noms : stdext
sync_shared ::allocate
Alloue un bloc de mémoire.
void *allocate(std::size_t count);
Paramètres
count
Nombre d’éléments du tableau à allouer.
Valeur de retour
Un pointeur vers l’objet alloué.
Notes
La fonction membre verrouille le mutex, appelle cache.allocate(count)
, déverrouille le mutex et retourne le résultat de l’appel précédent à cache.allocate(count)
. cache
représente l’objet cache actuel.
sync_shared ::d allocation
Libère du stockage un nombre d'objets spécifié à partir d'une position spécifiée.
void deallocate(void* ptr, std::size_t count);
Paramètres
ptr
Pointeur vers le premier objet à désallouer dans le stockage.
count
Nombre d’objets à désallouer dans le stockage.
Notes
Cette fonction membre verrouille le mutex, appelle cache.deallocate(ptr, count)
, où cache
représente l’objet cache, puis déverrouille le mutex.
sync_shared ::equals
Compare l'égalité de deux caches.
bool equals(const sync_shared<Cache>& Other) const;
Paramètres
Cache
Type de cache associé au filtre de synchronisation.
Other
Cache dont l’égalité est à comparer.
Valeur de retour
true
si le résultat de cache.equals(Other.cache)
, où cache
représente l’objet cache, est true
; sinon, false
.