summaryrefslogtreecommitdiff
path: root/src/memory.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/memory.hpp')
-rw-r--r--src/memory.hpp18
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 */