Compartilhar via


Classe freelist

Gerencia uma lista de blocos de memória.

Sintaxe

template <std::size_t Sz, class Max>
class freelist : public Max

Parâmetros

Sz
O número de elementos na matriz a serem alocados.

Max
A classe max, que representa o número máximo de elementos a serem armazenados na lista livre. A classe max pode ser max_none, max_unbounded, max_fixed_size ou max_variable_size.

Comentários

Esse modelo de classe gerencia uma lista de blocos de memória de tamanho Sz com o tamanho máximo da lista determinado pela classe max passada em Max.

Construtores

Construtor Descrição
freelist Constrói um objeto do tipo freelist.

Funções de membro

Função de membro Descrição
pop Remove o primeiro bloco de memória da lista livre.
push Adiciona um bloco de memória à lista.

Requisitos

Cabeçalho:<allocators>

Namespace: stdext

lista livre::lista livre

Constrói um objeto do tipo freelist.

freelist();

Comentários

lista livre::p op

Remove o primeiro bloco de memória da lista livre.

void *pop();

Valor de retorno

Retorna um ponteiro para o bloco de memória removido da lista.

Comentários

A função membro retorna NULO se a lista estiver vazia. Caso contrário, remove o primeiro bloco de memória da lista.

lista livre::p ush

Adiciona um bloco de memória à lista.

bool push(void* ptr);

Parâmetros

ptr
Um ponteiro para o bloco de memória a ser adicionado à lista livre.

Valor de retorno

true se a função full da classe max retornar false; caso contrário, a função push retorna false.

Comentários

Se a função full da classe max retornar false, essa função membro adiciona o bloco de memória apontado por ptr ao topo da lista.

Confira também

<allocators>