diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-10-29 16:01:47 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-10-29 16:01:47 -0400 |
| commit | e387f12f34777bbcdce211024ef871c3e9243989 (patch) | |
| tree | e6fb930469efaebcc0b172f2e1f3964c058ba09c | |
| parent | cb3e77586ac835c156cb4700b324dafbbb110adf (diff) | |
pkbktarr: cpp dtor no-op, call teardown manually
| -rw-r--r-- | pk.h.in | 2 | ||||
| -rw-r--r-- | pkbktarr.h | 10 |
2 files changed, 3 insertions, 9 deletions
@@ -268,7 +268,7 @@ * struct pk_bkt_arr_handle h = pk_bkt_arr_new_handle(&arr); * arr[h] = 128; * pk_bkt_arr_free_handle(&arr, h); -* arr.~pk_bkt_arr<int>(); // manually call dtor for globals +* pk_bkt_arr_teardown(&arr); * ``` * ******************************************************************************** @@ -73,24 +73,18 @@ bool pk_bkt_arr_iter_decrement(struct pk_bkt_arr *arr, struct pk_iter *it); #include <assert.h> template<typename T> struct pk_bkt_arr_t : public pk_bkt_arr { - pk_bkt_arr_t(); + pk_bkt_arr_t() = default; pk_bkt_arr_t(struct pk_bkt_arr_handle limits, struct pk_membucket *bkt_buckets, struct pk_membucket *bkt_data); - ~pk_bkt_arr_t(); + ~pk_bkt_arr_t() = default; T &operator[](struct pk_bkt_arr_handle); using FN_Iter = pk_tmpln_1<void, T*, void*>; using FN_Find = pk_tmpln_2<bool, const T*, const T*, const void*, const void*>; }; template<typename T> -pk_bkt_arr_t<T>::pk_bkt_arr_t() { } -template<typename T> pk_bkt_arr_t<T>::pk_bkt_arr_t(struct pk_bkt_arr_handle limits, struct pk_membucket *bkt_buckets, struct pk_membucket *bkt_data) { pk_bkt_arr_init(this, sizeof(T), alignof(T), limits, bkt_buckets, bkt_data); } template<typename T> -pk_bkt_arr_t<T>::~pk_bkt_arr_t() { - pk_bkt_arr_teardown(this); -} -template<typename T> T &pk_bkt_arr_t<T>::operator[](struct pk_bkt_arr_handle handle) { assert(this->idx_unused != nullptr); assert(this->bucketed_data != nullptr); |
