Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Describes a max class object that limits a freelist object to a maximum length that is roughly proportional to the number of allocated memory blocks.
Syntax
class max_variable_size
Constructors
| Constructor | Description |
|---|---|
| max_variable_size | Constructs an object of type max_variable_size. |
Member functions
| Member function | Description |
|---|---|
| allocated | Increments the count of allocated memory blocks. |
| deallocated | Decrements the count of allocated memory blocks. |
| full | Returns a value that specifies whether more memory blocks should be added to the free list. |
| released | Decrements the count of memory blocks on the free list. |
| saved | Increments the count of memory blocks on the free list. |
Requirements
Header: <allocators>
Namespace: stdext
max_variable_size::allocated
Increments the count of allocated memory blocks.
void allocated(std::size_t _Nx = 1);
Parameters
_Nx
The increment value.
Remarks
This member function adds _Nx to the stored value _Nallocs. This member function is called after each successful call by cache_freelist::allocate to operator new. The argument _Nx is the number of memory blocks in the chunk allocated by operator new.
max_variable_size::deallocated
Decrements the count of allocated memory blocks.
void deallocated(std::size_t _Nx = 1);
Parameters
_Nx
The increment value.
Remarks
The member function subtracts _Nx from the stored value _Nallocs. This member function is called after each call by cache_freelist::deallocate to operator delete. The argument _Nx is the number of memory blocks in the chunk deallocated by operator delete.
max_variable_size::full
Returns a value that specifies whether more memory blocks should be added to the free list.
bool full();
Return Value
true if _Nallocs / 16 + 16 <= _Nblocks.
Remarks
This member function is called by cache_freelist::deallocate. If the call returns true, deallocate puts the memory block on the free list; if it returns false, deallocate calls operator delete to deallocate the block.
max_variable_size::max_variable_size
Constructs an object of type max_variable_size.
max_variable_size();
Remarks
The constructor initializes the stored values _Nblocks and _Nallocs to zero.
max_variable_size::released
Decrements the count of memory blocks on the free list.
void released();
Remarks
This member function decrements the stored value _Nblocks. The released member function of the current max class is called by cache_freelist::allocate whenever it removes a memory block from the free list.
max_variable_size::saved
Increments the count of memory blocks on the free list.
void saved();
Remarks
This member function increments the stored value _Nblocks. This member function is called by cache_freelist::deallocate whenever it puts a memory block on the free list.