max_variable_size Class
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.
See also
Feedback
https://aka.ms/ContentUserFeedback.
În curând: Pe parcursul anului 2024, vom elimina treptat Probleme legate de GitHub ca mecanism de feedback pentru conținut și îl vom înlocui cu un nou sistem de feedback. Pentru mai multe informații, consultați:Trimiteți și vizualizați feedback pentru