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

Requisitos

Cabeçalho:<allocators>

Namespace: stdext

lista livre::lista livre

Constrói um objeto do tipo freelist.

freelist();

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>