diff options
Diffstat (limited to 'src/memory.hpp')
| -rw-r--r-- | src/memory.hpp | 18 |
1 files changed, 13 insertions, 5 deletions
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 <typename T> -T *PkeNew() { +inline T *PkeNew() { return reinterpret_cast<T *>(PkeNew(sizeof(T))); } template <typename T> -T *PkeNew(std::size_t sz) { - return reinterpret_cast<T *>(PkeNew(sz)); +inline T *PkeNew(long count) { + return reinterpret_cast<T *>(PkeNew(sizeof(T) * count)); +} +template <typename T> +inline void PkeDelete(const void *ptr) { + return PkeDelete(ptr, sizeof(T)); +} +template <typename T> +inline void PkeDelete(const void *ptr, long count) { + return PkeDelete(ptr, sizeof(T) * count); } } /* pke */ |
