summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2024-07-13 01:06:49 +0200
committerStanislaw Halik <sthalik@misaki.pl>2024-07-14 13:04:42 +0200
commitbbfb02609ef2a93b8fa0e97a5e298805f82d4f37 (patch)
treee897ad29e72bf6e3c8e56fcb903cda5adff93de8 /src
parent7d309c5cdf61ec186046fc7d83e641853c8706ac (diff)
w
Diffstat (limited to 'src')
-rw-r--r--src/handle-page.hpp1
-rw-r--r--src/handle-page.inl4
2 files changed, 5 insertions, 0 deletions
diff --git a/src/handle-page.hpp b/src/handle-page.hpp
index 057a512e..bf7ecdad 100644
--- a/src/handle-page.hpp
+++ b/src/handle-page.hpp
@@ -9,6 +9,7 @@ namespace floormat::impl_handle {
template<typename Obj, uint32_t PageSize>
struct Item
{
+ ~Item() noexcept;
union { char empty = {}; Obj object; };
Handle<Obj, PageSize> handle;
uint32_t next;
diff --git a/src/handle-page.inl b/src/handle-page.inl
index 8a8bd489..70837e0c 100644
--- a/src/handle-page.inl
+++ b/src/handle-page.inl
@@ -6,6 +6,10 @@
namespace floormat::impl_handle {
template<typename Obj, uint32_t PageSize>
+Item<Obj, PageSize>::~Item() noexcept
+{}
+
+template<typename Obj, uint32_t PageSize>
void Page<Obj, PageSize>::do_deallocate(Item<Obj, PageSize>& item)
{
item.object.~Obj();