Classe rts_alloc
O modelo de classe rts_alloc descreve um filtro que contém uma matriz de instâncias de cache e determina qual instância será usada para alocação e desalocação no runtime, em vez de no tempo de compilação.
Sintaxe
template <class Cache>
class rts_alloc
Parâmetros
Cache
O tipo de instâncias de cache contidas na matriz. Pode ser cache_chunklist
, cache_freelist
ou cache_suballoc
.
Comentários
Esse modelo de classe contém diversas instâncias de alocador de bloco e determina qual instância deve ser usada para alocação ou desalocação no runtime, em vez de no tempo de compilação. Ele é usado com os compiladores que não podem compilar reassociação.
Funções de membro
Função de membro | Descrição |
---|---|
allocate | Aloca um bloco de memória. |
deallocate | Libera um número especificado de objetos do armazenamento começando em uma posição especificada. |
equals | Compara a igualdade de dois caches. |
Requisitos
Cabeçalho:<allocators>
Namespace: stdext
rts_alloc::alocar
Aloca um bloco de memória.
void *allocate(std::size_t count);
Parâmetros
count
O número de elementos na matriz a serem alocados.
Valor de retorno
Um ponteiro para o objeto alocado.
Comentários
A função membro retorna caches[_IDX].allocate(count)
, em que o índice _IDX
é determinado pela contagem de tamanho do bloco solicitado ou, se a contagem for muito grande, retornará operator new(count)
. cache
, que representa o objeto do cache.
rts_alloc::d eallocate
Libera um número especificado de objetos do armazenamento começando em uma posição especificada.
void deallocate(void* ptr, std::size_t count);
Parâmetros
ptr
Um ponteiro para o primeiro objeto a ser desalocado do armazenamento.
count
O número de objetos a serem desalocados do armazenamento.
Comentários
A função membro chama caches[_IDX].deallocate(ptr, count)
, em que o índice _IDX
é determinado pela contagem de tamanho do bloco solicitado ou, se a contagem for muito grande, retornará operator delete(ptr)
.
rts_alloc::igual
Compara a igualdade de dois caches.
bool equals(const sync<_Cache>& _Other) const;
Parâmetros
_Cache
O objeto de cache associado ao filtro.
_Other
O objeto de cache a ser comparado quanto à igualdade.
Comentários
true
se o resultado de caches[0].equals(other.caches[0])
; caso contrário, false
. caches
representa a matriz de objetos do cache.