#include <arena_resource.hh>
|
| DECLARE_EXCEPTION (ExcArenaAllocation,<< "Allocation of ArenaResource failed. Please check if correct type of upstream is used.") |
|
| PatchArenaResource (void *buffer, size_t buffer_size, size_t simd_alignment, std::pmr::memory_resource *upstream=PatchArenaResource< Resource >::upstream_resource()) |
| Same as previous but doesn't construct buffer implicitly. More...
|
|
| ~PatchArenaResource ()=default |
|
void | print_space () |
| Compute and print free space and used space of arena buffer. Development method. More...
|
|
Resource & | resource () |
| Getter for resource. More...
|
|
template<class T > |
T * | allocate_8 (size_t n_items) |
| Allocate and return data pointer of n_item array of type T (alignment to length 8 bytes) More...
|
|
template<class T > |
T * | allocate_simd (size_t n_items) |
| Allocate and return data pointer of n_item array of type T (alignment to length given by simd_alignment constructor argument) More...
|
|
void | reset () |
|
|
void * | raw_allocate (size_t bytes, size_t alignment) |
|
void * | do_allocate (size_t bytes, size_t alignment) override |
| Override do_allocate to handle allocation logic. More...
|
|
void | do_deallocate (void *p, size_t bytes, size_t alignment) override |
| Override do_deallocate (no-op for monotonic buffer) More...
|
|
bool | do_is_equal (const std::pmr::memory_resource &other) const noexcept override |
| Override do_is_equal for memory resource comparison. More...
|
|
|
static std::pmr::memory_resource * | upstream_resource () |
| Returns different upstream resource in debug / release mode. More...
|
|
template<class Resource>
class PatchArenaResource< Resource >
Definition at line 32 of file arena_resource.hh.
◆ PatchArenaResource()
template<class Resource >
Same as previous but doesn't construct buffer implicitly.
Definition at line 48 of file arena_resource.hh.
◆ ~PatchArenaResource()
template<class Resource >
◆ allocate_8()
template<class Resource >
template<class T >
Allocate and return data pointer of n_item array of type T (alignment to length 8 bytes)
Definition at line 78 of file arena_resource.hh.
◆ allocate_simd()
template<class Resource >
template<class T >
Allocate and return data pointer of n_item array of type T (alignment to length given by simd_alignment constructor argument)
Definition at line 85 of file arena_resource.hh.
◆ DECLARE_EXCEPTION()
template<class Resource >
PatchArenaResource< Resource >::DECLARE_EXCEPTION |
( |
ExcArenaAllocation |
, |
|
|
<< "Allocation of ArenaResource failed. Please check if correct type of upstream is used." |
|
|
) |
| |
◆ do_allocate()
template<class Resource >
◆ do_deallocate()
template<class Resource >
void PatchArenaResource< Resource >::do_deallocate |
( |
void * |
p, |
|
|
size_t |
bytes, |
|
|
size_t |
alignment |
|
) |
| |
|
inlineoverrideprotected |
Override do_deallocate (no-op for monotonic buffer)
Definition at line 121 of file arena_resource.hh.
◆ do_is_equal()
template<class Resource >
bool PatchArenaResource< Resource >::do_is_equal |
( |
const std::pmr::memory_resource & |
other | ) |
const |
|
inlineoverrideprotectednoexcept |
Override do_is_equal for memory resource comparison.
Definition at line 126 of file arena_resource.hh.
◆ print_space()
template<class Resource >
Compute and print free space and used space of arena buffer. Development method.
Definition at line 63 of file arena_resource.hh.
◆ raw_allocate()
template<class Resource >
◆ reset()
template<class Resource >
◆ resource()
template<class Resource >
◆ upstream_resource()
template<class Resource >
Returns different upstream resource in debug / release mode.
Definition at line 35 of file arena_resource.hh.
◆ buffer_
template<class Resource >
◆ buffer_size_
template<class Resource >
◆ full_data_
template<class Resource >
◆ resource_
template<class Resource >
◆ simd_alignment_
template<class Resource >
◆ upstream_
template<class Resource >
The documentation for this class was generated from the following file: