title | ms.custom | ms.date | ms.reviewer | ms.suite | ms.technology | ms.tgt_pltfrm | ms.topic | f1_keywords | dev_langs | helpviewer_keywords | ms.assetid | caps.latest.revision | author | ms.author | manager | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cache_freelist Class | Microsoft Docs |
11/04/2016 |
|
article |
|
|
|
840694de-36ba-470f-8dae-2b723d5a8cd9 |
19 |
corob-msft |
corob |
ghogen |
Defines a block allocator that allocates and deallocates memory blocks of a single size.
template <std::size_t Sz, class Max>
class cache_freelist
Parameter | Description |
---|---|
Sz |
The number of elements in the array to be allocated. |
Max |
The max class representing the maximum size of the free list. This can be max_fixed_size, max_none, max_unbounded, or max_variable_size. |
The cache_freelist template class maintains a free list of memory blocks of size Sz
. When the free list is full it uses operator delete
to deallocate memory blocks. When the free list is empty it uses operator new
to allocate new memory blocks. The maximum size of the free list is determined by the class max class passed in the Max
parameter.
Each memory block holds Sz
bytes of usable memory and the data that operator new
and operator delete
require.
cache_freelist | Constructs an object of type cache_freelist . |
allocate | Allocates a block of memory. |
deallocate | Frees a specified number of objects from storage beginning at a specified position. |
Header: <allocators>
Namespace: stdext
Allocates a block of memory.
void *allocate(std::size_t count);
Parameter | Description |
---|---|
count |
The number of elements in the array to be allocated. |
A pointer to the allocated object.
Constructs an object of type cache_freelist
.
cache_freelist();
Frees a specified number of objects from storage beginning at a specified position.
void deallocate(void* ptr, std::size_t count);
Parameter | Description |
---|---|
ptr |
A pointer to the first object to be deallocated from storage. |
count |
The number of objects to be deallocated from storage. |