summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2024-07-17 18:27:11 +0200
committerStanislaw Halik <sthalik@misaki.pl>2024-07-17 18:27:11 +0200
commitd1564c0413d0a942806bcc57ed9848f397dd4bea (patch)
treee5880fc352c6307a7ff229c97f1e7641aed09af4
parent8a6af71225c7d4f47964945658600c0826626e59 (diff)
remove dumb idea of a union of pointers
-rw-r--r--src/RTree.cpp3
-rw-r--r--src/RTree.h4
2 files changed, 1 insertions, 6 deletions
diff --git a/src/RTree.cpp b/src/RTree.cpp
index f77d0697..fcefdbcf 100644
--- a/src/RTree.cpp
+++ b/src/RTree.cpp
@@ -64,8 +64,7 @@ template<typename T> T* rtree_pool<T>::construct()
template<typename T> void rtree_pool<T>::free(T* ptr)
{
ptr->~T();
- node_p p = {.ptr = ptr };
- node_u* n = p.data_ptr;
+ auto* n = reinterpret_cast<node_u*>(ptr);
n->next = free_list;
free_list = n;
}
diff --git a/src/RTree.h b/src/RTree.h
index 7b8eeb7c..6cf0292e 100644
--- a/src/RTree.h
+++ b/src/RTree.h
@@ -40,10 +40,6 @@ template<typename T> struct rtree_pool final
union { T data; };
node_u* next;
};
- union node_p {
- T* ptr;
- node_u* data_ptr;
- };
private:
node_u* free_list = nullptr;