Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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.