From 7257e9bb5ff9391f6b6874d5c3bc01dc2f2abf4b Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Thu, 5 Jun 2025 10:01:51 -0400 Subject: pkbktarr: helper function declarations --- pkbktarr.h | 8 ++++---- test/pkbktarr.cpp | 10 ++++------ 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/pkbktarr.h b/pkbktarr.h index 60f05bc..29613ae 100644 --- a/pkbktarr.h +++ b/pkbktarr.h @@ -63,19 +63,19 @@ struct pk_bkt_arr_handle pk_bkt_arr_handle_increment(struct pk_bkt_arr *arr, str struct pk_bkt_arr_handle pk_bkt_arr_handle_decrement(struct pk_bkt_arr *arr, struct pk_bkt_arr_handle h); #if defined (__cplusplus) +#include "pktmpln.h" /*deleteme*/ #include -#include template struct pk_bkt_arr_t : public pk_bkt_arr { pk_bkt_arr_t(); pk_bkt_arr_t(struct pk_bkt_arr_handle limits, struct pk_membucket *bkt_buckets = nullptr, struct pk_membucket *bkt_data = nullptr); ~pk_bkt_arr_t(); T &operator[](struct pk_bkt_arr_handle); + using FN_Iter = pk_tmpln_1; + using FN_Find = pk_tmpln_2; }; template -pk_bkt_arr_t::pk_bkt_arr_t() { - pk_bkt_arr_init(this, sizeof(T), alignof(T), {PK_BKT_ARR_HANDLE_B_MAX, PK_BKT_ARR_HANDLE_I_MAX}, nullptr, nullptr); -} +pk_bkt_arr_t::pk_bkt_arr_t() { } template pk_bkt_arr_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); diff --git a/test/pkbktarr.cpp b/test/pkbktarr.cpp index c4ce85c..23a7132 100644 --- a/test/pkbktarr.cpp +++ b/test/pkbktarr.cpp @@ -84,13 +84,12 @@ int main(int argc, char *argv[]) if (bkt_data->alloc_count != 1) exit(1); if (arr[h] != val) exit(1); - using CompCbWrapper = pk_tmpln_2; - CompCbWrapper cb_wrapper{}; + pk_bkt_arr_t::FN_Find cb_wrapper{}; cb_wrapper.func = [](const int *lhs, const int *rhs) { return *lhs == *rhs; }; - pk_bkt_arr_handle found_h = pk_bkt_arr_find_first_handle(&arr, &CompCbWrapper::invoke, &cb_wrapper, &val); + pk_bkt_arr_handle found_h = pk_bkt_arr_find_first_handle(&arr, &pk_bkt_arr_t::FN_Find::invoke, &cb_wrapper, &val); if (pk_bkt_arr_handle_compare(found_h, h) != 0) exit(1); arr.~pk_bkt_arr_t(); @@ -121,15 +120,14 @@ int main(int argc, char *argv[]) if (arr[h] != val) exit(1); int some_counter = 0; - using IterCbWrapper = pk_tmpln_1; - IterCbWrapper cb_wrapper{}; + pk_bkt_arr_t::FN_Iter cb_wrapper{}; cb_wrapper.func = [&some_counter](int *lhs) { (void)lhs; some_counter += 1; return; }; - pk_bkt_arr_iterate(&arr, &IterCbWrapper::invoke, &cb_wrapper); + pk_bkt_arr_iterate(&arr, &pk_bkt_arr_t::FN_Iter::invoke, &cb_wrapper); if (some_counter != 1) exit(1); arr.~pk_bkt_arr_t(); -- cgit v1.2.3