Memory management object used to track memory usage.
More...
#include <tpie/memory.h>
Inherits tpie::resource_manager.
|
| | memory_manager () |
| |
| std::pair< uint8_t *, size_t > | __allocate_consecutive (size_t upper_bound, size_t granularity) |
| |
|
void | register_allocation (size_t bytes) |
| |
|
void | register_deallocation (size_t bytes) |
| |
|
std::string | amount_with_unit (size_t amount) const override |
| |
|
void | register_pointer (void *p, size_t size, const std::type_info &t) |
| |
|
void | unregister_pointer (void *p, size_t size, const std::type_info &t) |
| |
|
void | assert_tpie_ptr (void *p) |
| |
|
void | complain_about_unfreed_memory () |
| |
| size_t | used () const noexcept |
| | Return the current amount of the resource used. More...
|
| |
| size_t | available () const noexcept |
| | Return the amount of the resource still available to be assigned. More...
|
| |
| size_t | limit () const noexcept |
| | Return the resource limit. More...
|
| |
| void | set_limit (size_t new_limit) |
| | Update the resource limit. More...
|
| |
| void | set_enforcement (enforce_t e) |
| | Set the resource limit enforcement policy. More...
|
| |
| enforce_t | enforcement () const noexcept |
| | Return the current resource limit enforcement policy. More...
|
| |
|
void | register_increased_usage (size_t amount) |
| |
|
void | register_decreased_usage (size_t amount) |
| |
|
|
void | throw_out_of_resource_error (const std::string &s) override |
| |
|
|
std::atomic< size_t > | m_used |
| |
|
size_t | m_limit |
| |
|
size_t | m_maxExceeded |
| |
|
size_t | m_nextWarning |
| |
|
enforce_t | m_enforce |
| |
|
resource_type | resource_managed |
| |
Memory management object used to track memory usage.
Definition at line 44 of file memory.h.
Memory limit enforcement policies.
| Enumerator |
|---|
| ENFORCE_IGNORE |
Ignore when running out of the resource.
|
| ENFORCE_DEBUG |
Log to debug log when the resource limit is exceeded.
Note that not all violations will be logged.
|
| ENFORCE_WARN |
Log a warning when the resource limit is exceeded.
Note that not all violations will be logged.
|
| ENFORCE_THROW |
Throw an out_of_resource_error when the resource limit is exceeded.
|
Definition at line 51 of file resource_manager.h.
Log a warning when the resource limit is exceeded.
Throw an out_of_resource_error when the resource limit is exceeded.
Log to debug log when the resource limit is exceeded.
Ignore when running out of the resource.
| tpie::memory_manager::memory_manager |
( |
| ) |
|
Construct the memory manager object.
| std::pair<uint8_t *, size_t> tpie::memory_manager::__allocate_consecutive |
( |
size_t |
upper_bound, |
|
|
size_t |
granularity |
|
) |
| |
Allocate the largest consecutive memory possible.
| size_t tpie::resource_manager::available |
( |
| ) |
const |
|
noexceptinherited |
| enforce_t tpie::resource_manager::enforcement |
( |
| ) |
const |
|
inlinenoexceptinherited |
Return the current resource limit enforcement policy.
Definition at line 96 of file resource_manager.h.
| size_t tpie::resource_manager::limit |
( |
| ) |
const |
|
inlinenoexceptinherited |
| void tpie::resource_manager::set_enforcement |
( |
enforce_t |
e | ) |
|
|
inherited |
Set the resource limit enforcement policy.
- Parameters
-
| e | The new enforcement policy. |
| void tpie::resource_manager::set_limit |
( |
size_t |
new_limit | ) |
|
|
inherited |
Update the resource limit.
If the resource limit is exceeded by decreasing the limit, no exception will be thrown.
- Parameters
-
| new_limit | The new resource limit. |
| size_t tpie::resource_manager::used |
( |
| ) |
const |
|
noexceptinherited |
Return the current amount of the resource used.
The documentation for this class was generated from the following file: