From 7c88fc11ef62d5be83fe34fe72da6eadfd64ba6b Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Wed, 20 Apr 2022 11:24:11 +0200 Subject: Some cleanup after carc / cbox updates. --- examples/arc_demo.c | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'examples') diff --git a/examples/arc_demo.c b/examples/arc_demo.c index 12f81b8d..132e940a 100644 --- a/examples/arc_demo.c +++ b/examples/arc_demo.c @@ -8,46 +8,46 @@ void int_drop(int* x) { // carc implements its own clone method using reference counting, // so 'i_valfrom' need not be defined (will be ignored). -#define i_type iref // set type name to be defined (instead of 'carc_int') +#define i_type Arc // set type name to be defined (instead of 'carc_int') #define i_val int -#define i_valdrop int_drop // optional, just to display the elements destroyed -#include // iref +//#define i_valdrop int_drop // optional, just to display the elements destroyed +#include // Arc -#define i_key_arcbox iref // note: use i_key_bind instead of i_key for carc/cbox elements -#include // csset_iref (like: std::set>) +#define i_key_arcbox Arc // note: use i_key_bind instead of i_key for carc/cbox elements +#include // csset_Arc (like: std::set>) -#define i_val_arcbox iref // note: as above. -#include // cvec_iref (like: std::vector>) +#define i_val_arcbox Arc // note: as above. +#include // cvec_Arc (like: std::vector>) int main() { - c_auto (cvec_iref, vec) // declare and init vec, call cvec_iref_drop() at scope exit - c_auto (csset_iref, set) // declare and init set, call csset_iref_drop() at scope exit + c_auto (cvec_Arc, vec) // declare and init vec, call cvec_Arc_drop() at scope exit + c_auto (csset_Arc, set) // declare and init set, call csset_Arc_drop() at scope exit { const int years[] = {2021, 2012, 2022, 2015}; c_forrange (i, c_arraylen(years)) - cvec_iref_push_back(&vec, iref_from(years[i])); + cvec_Arc_push_back(&vec, Arc_make(years[i])); printf("vec:"); - c_foreach (i, cvec_iref, vec) printf(" %d", *i.ref->get); + c_foreach (i, cvec_Arc, vec) printf(" %d", *i.ref->get); puts(""); // add odd numbers from vec to set - c_foreach (i, cvec_iref, vec) + c_foreach (i, cvec_Arc, vec) if (*i.ref->get & 1) - csset_iref_insert(&set, iref_clone(*i.ref)); // copy shared pointer => increments counter. + csset_Arc_insert(&set, Arc_clone(*i.ref)); // copy shared pointer => increments counter. // erase the two last elements in vec - cvec_iref_pop_back(&vec); - cvec_iref_pop_back(&vec); + cvec_Arc_pop_back(&vec); + cvec_Arc_pop_back(&vec); printf("vec:"); - c_foreach (i, cvec_iref, vec) printf(" %d", *i.ref->get); + c_foreach (i, cvec_Arc, vec) printf(" %d", *i.ref->get); printf("\nset:"); - c_foreach (i, csset_iref, set) printf(" %d", *i.ref->get); + c_foreach (i, csset_Arc, set) printf(" %d", *i.ref->get); - c_autovar (iref p = iref_clone(vec.data[0]), iref_drop(&p)) { + c_autovar (Arc p = Arc_clone(vec.data[0]), Arc_drop(&p)) { printf("\n%d is now owned by %ld objects\n", *p.get, *p.use_count); } -- cgit v1.2.3