Tampon pour allocation multiple. Plus de détails...
#include <arcane/utils/MultiBuffer.h>
Types publics | |
typedef UniqueArray< T > | BufferType |
Fonctions membres publiques | |
MultiBufferT (Integer buf_size) | |
MultiBufferT (const MultiBufferT< T > &ref) | |
Constructeur de recopie. | |
void | operator= (const MultiBufferT< T > &ref) |
Opérateur de recopie (interdit) | |
T * | allocOne () |
Alloue un nouvel élément. | |
ArrayView< T > | allocMany (Integer n) |
Alloue n éléments. | |
void | clear () |
Integer | nbAllocatedBuffer () |
Integer | bufferSize () const |
Fonctions membres protégées | |
void | _freeAllocatedBuffers () |
Fonctions membres privées | |
void | _allocateCurrentBuffer () |
Attributs privés | |
Integer | m_buffer_size |
Nombre d'élément d'un tampon. | |
Integer | m_current_buffer_size |
Nombre d'éléments max du tampon courant. | |
Integer | m_nb_in_buffer |
Nombre d'éléments dans le tampon actuel. | |
BufferType * | m_current_buffer |
Tampon actuel. | |
UniqueArray< BufferType * > | m_allocated_buffers |
Liste de tous les tampons. | |
Tampon pour allocation multiple.
Cette classe gère une liste pré-alloué d'élément afin de limiter les appels multiples à des allocations (new() ou malloc()).
Les pré-allocation se font par bloc de m_buffer_size éléments
Pour être utilisé par cette classe, un type doit posséder un constructeur par défaut et un opérateur de recopie. Cette classe garantit que les pointeurs retournés restent valides tant que cette instance existe.
Les constructeurs et opérateurs de recopie ne dupliquent pas la mémoire mais se contentent juste de conserver la taille du tampon.
Définition à la ligne 43 du fichier MultiBuffer.h.
typedef UniqueArray<T> Arcane::MultiBufferT< T >::BufferType |
Définition à la ligne 47 du fichier MultiBuffer.h.
|
inline |
Définition à la ligne 51 du fichier MultiBuffer.h.
|
inline |
Définition à la ligne 55 du fichier MultiBuffer.h.
|
inline |
Constructeur de recopie.
Définition à la ligne 60 du fichier MultiBuffer.h.
|
inline |
Définition à la ligne 64 du fichier MultiBuffer.h.
|
inlineprivate |
Définition à la ligne 136 du fichier MultiBuffer.h.
|
inlineprotected |
Définition à la ligne 123 du fichier MultiBuffer.h.
|
inline |
Alloue n éléments.
Définition à la ligne 90 du fichier MultiBuffer.h.
|
inline |
Alloue un nouvel élément.
Définition à la ligne 79 du fichier MultiBuffer.h.
|
inline |
Définition à la ligne 120 du fichier MultiBuffer.h.
|
inline |
Définition à la ligne 111 du fichier MultiBuffer.h.
|
inline |
Définition à la ligne 119 du fichier MultiBuffer.h.
|
inline |
Opérateur de recopie (interdit)
Définition à la ligne 70 du fichier MultiBuffer.h.
|
private |
Liste de tous les tampons.
Définition à la ligne 134 du fichier MultiBuffer.h.
|
private |
Nombre d'élément d'un tampon.
Définition à la ligne 130 du fichier MultiBuffer.h.
|
private |
Tampon actuel.
Définition à la ligne 133 du fichier MultiBuffer.h.
|
private |
Nombre d'éléments max du tampon courant.
Définition à la ligne 131 du fichier MultiBuffer.h.
|
private |
Nombre d'éléments dans le tampon actuel.
Définition à la ligne 132 du fichier MultiBuffer.h.