Compartilhar via


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.

Confira também

ALLOCATOR_DECL
<allocators>