summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
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();