Partilhar via


cache_freelist Classe

Define um alocador de blocos que aloca e desaloca 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 ser alocado.

Máximo
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.

Observações

O modelo de classe cache_freelist mantém uma lista livre de blocos de memória de tamanho Sz. Quando a lista livre está cheia, ele usa o operador delete para desalocar blocos de memória. Quando a lista livre está vazia, ele usa o operador new para alocar novos blocos de memória. O tamanho máximo da lista livre é determinado pela classe max da classe passada no parâmetro Max .

Cada bloco de memória contém bytes Sz de memória utilizável e os dados que o operador novo e o operador excluir 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
alocar Aloca um bloco de memória.
desalocar Libera um número especificado de objetos do armazenamento começando em uma posição especificada.

Requerimentos

Cabeçalho:<Alocadores>

Espaço de nomes: stdext

cache_freelist::alocar

Aloca um bloco de memória.

void *allocate(std::size_t count);

Parâmetros

contagem
O número de elementos na matriz a ser alocado.

Valor de retorno

Um ponteiro para o objeto alocado.

cache_freelist::cache_freelist

Constrói um objeto do tipo cache_freelist.

cache_freelist();

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.

contagem
O número de objetos a serem desalocados do armazenamento.

Ver também

<Alocadores>