diff options
Diffstat (limited to 'src/memory.hpp')
| -rw-r--r-- | src/memory.hpp | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/memory.hpp b/src/memory.hpp index c2fc3bb..fe63318 100644 --- a/src/memory.hpp +++ b/src/memory.hpp @@ -17,13 +17,6 @@ extern const std::size_t MINIMUM_ALIGNMENT; extern const std::size_t MAXIMUM_ALIGNMENT; -template<typename T, typename CT> -struct BucketContainer { - PkeHandleBucketIndex_T incrementer = 2; - CT pkeHandle; - T *buckets = nullptr; -}; - void *Pke_New(std::size_t sz, std::size_t alignment); void *Pke_New(std::size_t sz, std::size_t alignment, MemBucket *bkt); void Pke_Delete(const void *ptr, std::size_t sz); @@ -89,34 +82,4 @@ inline void Pke_Delete(const void *ptr, long count, MemBucket *bucket = nullptr) } } - -template <typename T, typename CT> -void Buckets_Init(BucketContainer<T, CT> &bktContainer) { - assert(bktContainer.buckets == nullptr && "bucket container already initialized"); - bktContainer.pkeHandle.hash = 0; - bktContainer.buckets = Pke_New<T>(bktContainer.incrementer); -} - -PkeHandle Buckets_NewHandle(std::size_t bucketBytes, std::size_t alignment, PkeHandleItemIndex_T bucketItemCount, PkeHandleBucketIndex_T &bucketIncrementer, PkeHandleBucketIndex_T &bucketCounter, PkeHandleItemIndex_T &itemCounter, void*& buckets, bool &moved); -template <typename T> inline PkeHandle Buckets_NewHandle(PkeHandleItemIndex_T bucketItemCount, PkeHandleBucketIndex_T &bucketIncrementer, PkeHandleBucketIndex_T &bucketCounter, PkeHandleItemIndex_T &itemCounter, T*& buckets, bool &moved) { - void *ptr = reinterpret_cast<void *>(buckets); - PkeHandle handle = Buckets_NewHandle(sizeof(T), alignof(T), bucketItemCount, bucketIncrementer, bucketCounter, itemCounter, ptr, moved); - buckets = reinterpret_cast<T *>(ptr); - return handle; -} - -template <typename T, typename CT = PkeHandle> -inline CT Buckets_NewHandle(PkeHandleItemIndex_T maxBucketItemCount, BucketContainer<T, CT> &bktContainer, bool &moved) { - CT returnValue{}; - returnValue.hash = Buckets_NewHandle<T>(maxBucketItemCount, bktContainer.incrementer, bktContainer.pkeHandle.bucketIndex, bktContainer.pkeHandle.itemIndex, bktContainer.buckets, moved).hash; - return returnValue; -} - -template <typename T, typename CT> -static inline constexpr void Buckets_Destroy(BucketContainer<T, CT> &bktContainer) { - if (bktContainer.buckets == nullptr || bktContainer.buckets == CAFE_BABE(T)) return; - Pke_Delete<T>(bktContainer.buckets, bktContainer.pkeHandle.bucketIndex + 1); - bktContainer.buckets = CAFE_BABE(T); -} - #endif /* PKE_MEMORY_HPP */ |
