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.