Classe cache_freelist
Define um alocador de blocos que aloca e desaloca os blocos de memória de um único tamanho.
Sintaxe
template <std::size_t Sz, class Max>
class cache_freelist
Parâmetros
Sz
O número de elementos na matriz a serem alocados.
Max
A classe max que representa o tamanho máximo da lista livre. Isso pode ser max_fixed_size, max_none, max_unbounded ou max_variable_size.
Comentários
A classe de modelo cache_freelist mantém uma lista livre de blocos de memória do tamanho Sz. Quando a lista livre estiver cheia, ele usará operator delete para desalocar blocos de memória. Quando a lista livre estiver vazia, ela usará operator new para alocar novos blocos de memória. O tamanho máximo da lista livre é determinado pela classe de classe máxima passado no parâmetro Max.
Cada bloco de memória contém bytes Sz de memória utilizável e os dados que operator new e operator delete exigem.
Construtores
Construtor | Descrição |
---|---|
cache_freelist | Constrói um objeto do tipo cache_freelist . |
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. |
Requisitos
Cabeçalho:<allocators>
Namespace: stdext
cache_freelist::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
cache_freelist::cache_freelist
Constrói um objeto do tipo cache_freelist
.
cache_freelist();
Comentários
cache_freelist::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.