From 1d3bfd616e1b00c0510d9ac00e6e9ee6b6daab83 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Tue, 8 Aug 2023 21:30:19 -0400 Subject: memory cleanup and require size for deleting the pointer --- src/memory.hpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'src/memory.hpp') diff --git a/src/memory.hpp b/src/memory.hpp index 43ada0f..fe93cc7 100644 --- a/src/memory.hpp +++ b/src/memory.hpp @@ -14,19 +14,27 @@ struct MemBucket; void *PkeNew(std::size_t sz); void *PkeNew(std::size_t sz, MemBucket *bkt); -void PkeDelete(void *ptr); -void PkeDelete(void *ptr, MemBucket *bkt); +void PkeDelete(const void *ptr, std::size_t sz); +void PkeDelete(const void *ptr, std::size_t sz, MemBucket *bkt); MemBucket *BeginTransientBucket(int64_t sz = DEFAULT_BUCKET_SIZE); // 256MB void EndTransientBucket(MemBucket *bkt); template -T *PkeNew() { +inline T *PkeNew() { return reinterpret_cast(PkeNew(sizeof(T))); } template -T *PkeNew(std::size_t sz) { - return reinterpret_cast(PkeNew(sz)); +inline T *PkeNew(long count) { + return reinterpret_cast(PkeNew(sizeof(T) * count)); +} +template +inline void PkeDelete(const void *ptr) { + return PkeDelete(ptr, sizeof(T)); +} +template +inline void PkeDelete(const void *ptr, long count) { + return PkeDelete(ptr, sizeof(T) * count); } } /* pke */ -- cgit v1.2.3