1 #ifndef PerfTools_AllocMonitor_AllocMonitorRegistry_h 2 #define PerfTools_AllocMonitor_AllocMonitorRegistry_h 51 template <
typename T,
typename... ARGS>
56 friend void*
::malloc(
size_t) noexcept;
57 friend void*
::calloc(
size_t,
size_t) noexcept;
58 friend void*
::realloc(
void*,
size_t) noexcept;
61 friend void*
::memalign(
size_t,
size_t) noexcept;
65 friend void*
::operator new[](std::size_t size);
70 friend void*
::operator new(std::size_t
count, std::align_val_t al,
const std::nothrow_t&) noexcept;
71 friend void*
::operator new[](std::size_t
count, std::align_val_t al,
const std::nothrow_t&) noexcept;
76 friend void ::operator delete[](
void* ptr, std::align_val_t al) noexcept;
79 friend void ::operator delete(
void* ptr, std::size_t sz, std::align_val_t al) noexcept;
80 friend void ::operator delete[](
void* ptr, std::size_t sz, std::align_val_t al) noexcept;
83 friend void ::operator delete(
void* ptr, std::align_val_t al,
const std::nothrow_t&
tag) noexcept;
84 friend void ::operator delete[](
void* ptr, std::align_val_t al,
const std::nothrow_t&
tag) noexcept;
113 template <
typename ALLOC,
typename ACT>
114 auto allocCalled(
size_t iRequested, ALLOC iAlloc, ACT iGetActual) {
122 template <
typename DEALLOC,
typename ACT>
125 if (
g.running() and iPtr !=
nullptr) {
132 std::vector<std::unique_ptr<AllocMonitorBase>>
monitors_;
135 template <
typename T,
typename... ARGS>
140 auto m = std::make_unique<T>(std::forward<ARGS>(iArgs)...);
int posix_memalign(void **memptr, size_t alignment, size_t size) noexcept
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
void free(void *ptr) noexcept