Classe cache_suballoc
Define um alocador de blocos que aloca e desaloca os blocos de memória de um único tamanho.
Sintaxe
template <std::size_t Sz, size_t Nelts = 20>
class cache_suballoc
Parâmetros
Sz
O número de elementos na matriz a serem alocados.
Comentários
O modelo de classe cache_suballoc armazena blocos de memória desalocados em uma lista livre com comprimento ilimitado, usando freelist<sizeof(Type), max_unbounded>
e subaloca blocos de memória de uma parte maior alocada com operator new quando a lista livre está vazia.
Cada parte contém Sz * Nelts
bytes de memória utilizável e os dados que operator new e operator delete exigem. Partes alocadas nunca são liberadas.
Construtores
Construtor | Descrição |
---|---|
cache_suballoc | Constrói um objeto do tipo cache_suballoc . |
Funções de membro
Função de membro | Descrição |
---|---|
allocate | Aloca um bloco de memória. |
deallocate | Libera um número especificado de objetos do armazenamento começando em uma posição especificada. |
Requisitos
Cabeçalho:<allocators>
Namespace: stdext
cache_suballoc::alocar
Aloca um bloco de memória.
void *allocate(std::size_t count);
Parâmetros
count
O número de elementos na matriz a serem alocados.
Valor de retorno
Um ponteiro para o objeto alocado.
Comentários
cache_suballoc::cache_suballoc
Constrói um objeto do tipo cache_suballoc
.
cache_suballoc();
Comentários
cache_suballoc::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.
count
O número de objetos a serem desalocados do armazenamento.