Partager via


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.

Autres
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.

Notes

Voir aussi

<allocators>