sync_shared (Clase)
Describe un filtro de sincronización que usa una exclusión mutua para controlar el acceso a un objeto de caché compartido por todos los asignadores.
Sintaxis
template <class Cache>
class sync_shared
Parámetros
Cache
El tipo de caché asociado al filtro de sincronización. Puede ser cache_chunklist
, cache_freelist
o cache_suballoc
.
Funciones miembro
Función de miembro | Descripción |
---|---|
allocate | Asigna un bloque de memoria. |
deallocate | Libera un número especificado de objetos del almacenamiento, a partir de la posición especificada. |
equals | Compara dos cachés para determinar si son iguales. |
Requisitos
Encabezado:<allocators>
Espacio de nombres: stdext
sync_shared::allocate
Asigna un bloque de memoria.
void *allocate(std::size_t count);
Parámetros
count
El número de elementos de la matriz que se van a asignar.
Valor devuelto
Un puntero al objeto asignado.
Comentarios
La función miembro bloquea la exclusión mutua, llama a cache.allocate(count)
, desbloquea la exclusión mutua y devuelve el resultado de la llamada anterior a cache.allocate(count)
. cache
representa el objeto de caché actual.
sync_shared::d eallocate
Libera un número especificado de objetos del almacenamiento, a partir de la posición especificada.
void deallocate(void* ptr, std::size_t count);
Parámetros
ptr
Un puntero al primer objeto que se va a desasignar del almacenamiento.
count
El número de objetos que se van a desasignar del almacenamiento.
Comentarios
Esta función miembro bloquea la exclusión mutua, llama a cache.deallocate(ptr, count)
, donde cache
representa el objeto de caché y, después, desbloquea la exclusión mutua.
sync_shared::equals
Compara dos cachés para determinar si son iguales.
bool equals(const sync_shared<Cache>& Other) const;
Parámetros
Cache
El tipo de caché asociado al filtro de sincronización.
Otros
La caché para comparar la igualdad.
Valor devuelto
true
si el resultado de cache.equals(Other.cache)
, donde cache
representa el objeto de caché, en true
. De lo contrario, es false
.