summaryrefslogtreecommitdiffhomepage
path: root/examples
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2022-04-20 11:24:11 +0200
committerTyge Løvset <[email protected]>2022-04-20 11:24:11 +0200
commit7c88fc11ef62d5be83fe34fe72da6eadfd64ba6b (patch)
tree6651f32a31940a3ab1cbd1dc5d939af7564d08b2 /examples
parent9e530276c0bbe84ddc69142053012bcbb6e9d2f0 (diff)
downloadSTC-modified-7c88fc11ef62d5be83fe34fe72da6eadfd64ba6b.tar.gz
STC-modified-7c88fc11ef62d5be83fe34fe72da6eadfd64ba6b.zip
Some cleanup after carc / cbox updates.
Diffstat (limited to 'examples')
-rw-r--r--examples/arc_demo.c36
1 files changed, 18 insertions, 18 deletions
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 <stc/carc.h> // iref
+//#define i_valdrop int_drop // optional, just to display the elements destroyed
+#include <stc/carc.h> // Arc
-#define i_key_arcbox iref // note: use i_key_bind instead of i_key for carc/cbox elements
-#include <stc/csset.h> // csset_iref (like: std::set<std::shared_ptr<int>>)
+#define i_key_arcbox Arc // note: use i_key_bind instead of i_key for carc/cbox elements
+#include <stc/csset.h> // csset_Arc (like: std::set<std::shared_ptr<int>>)
-#define i_val_arcbox iref // note: as above.
-#include <stc/cvec.h> // cvec_iref (like: std::vector<std::shared_ptr<int>>)
+#define i_val_arcbox Arc // note: as above.
+#include <stc/cvec.h> // cvec_Arc (like: std::vector<std::shared_ptr<int>>)
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);
}