Partilhar 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 ser alocado.

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

Observações

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

Construtores

Construtor Descrição
lista livre 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.
empurrar Adiciona um bloco de memória à lista.

Requerimentos

Cabeçalho:<Alocadores>

Espaço de nomes: stdext

freelist::lista livre

Constrói um objeto do tipo freelist.

freelist();

freelist::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.

Observações

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

freelist::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 full função da classe max retorna false; caso contrário, a push função retorna false.

Observações

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

Ver também

<Alocadores>