cache_freelist Class

Defines a block allocator that allocates and deallocates memory blocks of a single size.

template <std::size_t Sz, class Max> class cache_freelist

Parameters

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.

Remarks

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.

Constructors

cache_freelist

Constructs an object of type cache_freelist.

Member Functions

allocate

Allocates a block of memory.

deallocate

Frees a specified number of objects from storage beginning at a specified position.

Requirements

Header: <allocators>

Namespace: stdext

See Also

Reference

<allocators>