From 5ec606e5dfdbaebe22717d094b58ee7f365ffd9c Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Sun, 6 Nov 2022 15:52:16 +0100 Subject: Added c_autodrop() macro, and removed c_autobuf() which wasn't that useful (and was undocumented). --- examples/cpque.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'examples/cpque.c') diff --git a/examples/cpque.c b/examples/cpque.c index 63d07c6b..dba4552f 100644 --- a/examples/cpque.c +++ b/examples/cpque.c @@ -9,6 +9,7 @@ #include #include #include +#include // predeclare declare_cpque(ipque, int); @@ -18,7 +19,7 @@ struct { bool (*less)(const int*, const int*); } typedef IPQueue; -#define IPQueue_obj(less) ((IPQueue){ipque_init(), less}) +#define IPQueue_drop(q) ipque_drop(&(q)->Q) #define i_type ipque #define i_val int @@ -52,9 +53,9 @@ int main() const int data[] = {1,8,5,6,3,4,0,9,7,2}, n = c_arraylen(data); print("data", data, n); - c_with (IPQueue q1 = IPQueue_obj(int_less), ipque_drop(&q1.Q)) // Max priority queue - c_with (IPQueue minq1 = IPQueue_obj(int_greater), ipque_drop(&minq1.Q)) // Min priority queue - c_with (IPQueue q5 = IPQueue_obj(int_lambda), ipque_drop(&q5.Q)) // Using lambda to compare elements. + c_autodrop (IPQueue, q1, {ipque_init(), int_less}) // Max priority queue + c_autodrop (IPQueue, minq1, {ipque_init(), int_greater}) // Min priority queue + c_autodrop (IPQueue, q5, {ipque_init(), int_lambda}) // Using lambda to compare elements. { c_forrange (i, n) ipque_push(&q1.Q, data[i]); -- cgit v1.2.3