summaryrefslogtreecommitdiffhomepage
path: root/examples
diff options
context:
space:
mode:
authorTyge Lovset <[email protected]>2022-04-20 09:10:50 +0200
committerTyge Lovset <[email protected]>2022-04-20 09:10:50 +0200
commit7254bcc776d4dd5dd2e3e20598858618d5eddcdc (patch)
tree050e9b4522eaaa69578704a0788dcb97170b4079 /examples
parenta9c0f215e3e98c165de07d9661595b0dd64cc4fb (diff)
downloadSTC-modified-7254bcc776d4dd5dd2e3e20598858618d5eddcdc.tar.gz
STC-modified-7254bcc776d4dd5dd2e3e20598858618d5eddcdc.zip
Support for cloning containers with carc and cbox.
Disabled emplace methods for containers with carc and cbox.
Diffstat (limited to 'examples')
-rw-r--r--examples/new_sptr.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/examples/new_sptr.c b/examples/new_sptr.c
index 2c2c5d8a..f037c0a8 100644
--- a/examples/new_sptr.c
+++ b/examples/new_sptr.c
@@ -22,7 +22,8 @@ void Person_drop(Person* p) {
// ...
#define i_type SPtr
#define i_val int
-#define i_valdrop(x) printf("drop: %d\n", *(x))
+#define i_valdrop(x) printf("drop: %d\n", *x)
+#define i_valfrom(i) i
#include <stc/carc.h>
#define i_val_arcbox SPtr
@@ -42,9 +43,9 @@ int main(void) {
c_auto (cstack_iptr, stk) {
puts("Ex2");
- cstack_iptr_emplace(&stk, 10);
- cstack_iptr_emplace(&stk, 20);
- cstack_iptr_emplace(&stk, 30);
+ cstack_iptr_push(&stk, SPtr_make(10));
+ cstack_iptr_push(&stk, SPtr_make(20));
+ cstack_iptr_push(&stk, SPtr_make(30));
cstack_iptr_push(&stk, SPtr_clone(*cstack_iptr_top(&stk)));
cstack_iptr_push(&stk, SPtr_clone(*cstack_iptr_begin(&stk).ref));