Le Kit de Support: BBlockCache
Contenu du kit de Support     Index du Kit de Support

BBlockCache

Dérivée de: (aucune)

Déclarée dans: be/support/BlockCache.h

Bibliothèque: libbe.so

Sommaire

La classe BBlockCache pré-alloue une réserve de blocs de mémoire à taille fixe. Vous appelez Get() pour récupérer un bloc mémoire depuis la réserve, et Save() pour l'y remettre. Les objets BBlockCache sont utiles dans des applications qui alloue et désalloue fréquemment des objets à taille fixe, et dans l'implémentations des opérateurs new et delete d'une classe.


Constructeur et Destructeur


BBlockCache()

                                                         
  

BBlockCache(size_t count, size_t size, uint32 type)

Crée une nouvelle réserve de blocs mémoire, allouant la mémoire pour count blocs, chacun contrôlant size octets de mémoire. type est soit:


~BBlockCache()

                                                         
  

~BBlockCache()

Libère toute mémoire inutilisée dans la réserve. La mémoire récupérée par Get() (et qui n'est pas retournée par Save()) n'est pas désallouée.


Fonctions Membres


Get()

                                                         
  

void *Get(size_t size)

Récupère un bloc mémoire de la taille size donnée et le retourne directement. Si size est la même valeur que l'argument size que vous avez passé au constructeur, la mémoire retournée est prise dans le cache de l'objet. Sinon, elle est allouée en utilisant soit new ou malloc() comme demandé dans le constructeur. Quand vous avez fini avec la mémoire, vous pouvez soit la désallouer vous-même, ou la retourner dans l'objet BBlockCache en appellant Save().


Save()

                                                         
  

void Save(void *pointer, size_t size)

Retourne, dans l'objet BBlockCache, size octets de mémoire pointés par pointer. Si la mémoire a été prise de la réserve de l'objet, la mémoire est remise dans la réserve. Sinon, elle est désallouée. Dans tous les cas, l'appellant est libéré de la responsabilité de désallocation de mémoire.


Contenu du kit de Support     Index du Kit de Support


The Be Book,
...in lovely HTML...
for BeOS Release 5.

Copyright © 2000 Be, Inc. All rights reserved..