rts_alloc, classe
Le modèle de classe rts_alloc décrit un filtre qui contient un tableau d’instances de cache et détermine l’instance à utiliser pour l’allocation et la désallocation au moment de l’exécution au lieu du moment de la compilation.
Syntaxe
template <class Cache>
class rts_alloc
Paramètres
Cache
Type d'instances de cache contenu dans le tableau. Il peut s’agir de cache_chunklist
, cache_freelist
ou cache_suballoc
.
Notes
Ce modèle de classe contient plusieurs instances d’allocateur de bloc et détermine l’instance à utiliser pour l’allocation ou la désallocation au moment de l’exécution au lieu du moment de la compilation. Elle est utilisée avec les compilateurs qui ne peuvent pas compiler la reliaison.
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
rts_alloc ::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 retourne caches[_IDX].allocate(count)
, où l’index _IDX
est déterminé par le nombre de tailles de bloc demandé, ou, si le nombre est trop grand, il retourne operator new(count)
. cache
, qui représente l’objet cache.
rts_alloc ::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
La fonction membre appelle caches[_IDX].deallocate(ptr, count)
, où l’index _IDX
est déterminé par le nombre de tailles de bloc demandé, ou, si le nombre est trop grand, il retourne operator delete(ptr)
.
rts_alloc ::equals
Compare l'égalité de deux caches.
bool equals(const sync<_Cache>& _Other) const;
Paramètres
_Cache
Objet cache associé au filtre.
_Autre
Objet cache dont l’égalité est à comparer.
Notes
true
si le résultat est caches[0].equals(other.caches[0])
. Sinon, false
. caches
représente le tableau d’objets cache.