Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 | Descriptif |
|---|---|
| allouer | Alloue un bloc de mémoire. |
| désallouer | Libère du stockage un nombre d'objets spécifié à partir d'une position spécifiée. |
| égal | 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
nombre
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.
nombre
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.