summaryrefslogtreecommitdiffhomepage
path: root/examples/box.c
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2021-12-22 08:49:19 +0100
committerTyge Løvset <[email protected]>2021-12-22 08:50:15 +0100
commit6e65e30c6e3c2bc271d3885e749ceb0289bbd9cf (patch)
treeccffa7b7dde19fb551f99c7eed529bdc7308e494 /examples/box.c
parent1b90b6c3eea0f3e07f8a2d2abe3686917d1d86a8 (diff)
downloadSTC-modified-6e65e30c6e3c2bc271d3885e749ceb0289bbd9cf.tar.gz
STC-modified-6e65e30c6e3c2bc271d3885e749ceb0289bbd9cf.zip
Changed the c_apply() and c_apply_pair() to one new c_apply() API. Added c_pair(v) for convenience.
Diffstat (limited to 'examples/box.c')
-rw-r--r--examples/box.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/examples/box.c b/examples/box.c
index 598d0bdc..ae10a89f 100644
--- a/examples/box.c
+++ b/examples/box.c
@@ -28,7 +28,7 @@ void Person_drop(Person* p) {
#include <stc/cbox.h>
#define i_type Persons
-#define i_val_bind PBox // binds PBox_cmp, ...
+#define i_val_ref PBox // binds PBox_cmp, ...
#include <stc/cvec.h>
@@ -37,7 +37,7 @@ int main()
c_auto (Persons, vec)
c_auto (PBox, p, q)
{
- p = PBox_new(Person_new("Laura", "Palmer"));
+ p = PBox_from(Person_new("Laura", "Palmer"));
q = PBox_clone(p);
cstr_assign(&q.get->name, "Leland");
@@ -45,11 +45,11 @@ int main()
printf("orig: %s %s\n", p.get->name.str, p.get->last.str);
printf("copy: %s %s\n", q.get->name.str, q.get->last.str);
- Persons_push_back(&vec, PBox_new(Person_new("Dale", "Cooper")));
- Persons_push_back(&vec, PBox_new(Person_new("Audrey", "Home")));
+ Persons_push_back(&vec, PBox_from(Person_new("Dale", "Cooper")));
+ Persons_push_back(&vec, PBox_from(Person_new("Audrey", "Home")));
// NB! Clone p and q to the vector using emplace_back()
- c_apply(Persons, emplace_back, &vec, {p, q});
+ c_apply(v, Persons_push_back(&vec, PBox_clone(v)), PBox, {p, q});
c_foreach (i, Persons, vec)
printf("%s %s\n", i.ref->get->name.str, i.ref->get->last.str);
@@ -57,7 +57,7 @@ int main()
// Look-up Audrey! Use a (fake) temporary PBox for lookup.
c_autovar (Person a = Person_new("Audrey", "Home"), Person_drop(&a)) {
- const PBox *v = Persons_get(&vec, (PBox){&a});
+ const PBox *v = Persons_get(&vec, a);
if (v) printf("found: %s %s\n", v->get->name.str, v->get->last.str);
}
puts("");