From cb6cc689516c1adf2b22860ca62e508a3618e3d8 Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Thu, 30 Sep 2021 09:04:49 +0200 Subject: More cleanup. i_fwd is rarely needed, so removed F_tag. Use i_fwd define flag instead. --- examples/new_deq.c | 7 +++++-- examples/new_list.c | 8 +++++--- examples/new_map.c | 4 +++- examples/new_pque.c | 4 +++- examples/new_sptr.c | 9 ++++----- examples/new_vec.c | 8 +++++--- examples/sptr_ex.c | 3 ++- include/stc/cvec.h | 3 ++- include/stc/template.h | 5 ----- 9 files changed, 29 insertions(+), 22 deletions(-) diff --git a/examples/new_deq.c b/examples/new_deq.c index 93853ce3..58ca7722 100644 --- a/examples/new_deq.c +++ b/examples/new_deq.c @@ -10,7 +10,8 @@ struct MyStruct { } typedef MyStruct; -#define F_tag i32 +#define i_fwd +#define i_tag i32 #define i_val int #include @@ -19,7 +20,9 @@ int point_compare(const Point* a, const Point* b) { int c = c_default_compare(&a->x, &b->x); return c ? c : c_default_compare(&a->y, &b->y); } -#define F_tag pnt + +#define i_fwd +#define i_tag pnt #define i_val Point #define i_cmp point_compare #include diff --git a/examples/new_list.c b/examples/new_list.c index 66c97c3b..a46e6350 100644 --- a/examples/new_list.c +++ b/examples/new_list.c @@ -9,8 +9,8 @@ struct MyStruct { clist_pnt pntlst; } typedef MyStruct; - -#define F_tag i32 +#define i_fwd +#define i_tag i32 #define i_val int #include @@ -19,7 +19,9 @@ int point_compare(const Point* a, const Point* b) { int c = c_default_compare(&a->x, &b->x); return c ? c : c_default_compare(&a->y, &b->y); } -#define F_tag pnt + +#define i_fwd +#define i_tag pnt #define i_val Point #define i_cmp point_compare #include diff --git a/examples/new_map.c b/examples/new_map.c index f09fe801..297e9be7 100644 --- a/examples/new_map.c +++ b/examples/new_map.c @@ -19,7 +19,9 @@ int point_compare(const Point* a, const Point* b) { int c = c_default_compare(&a->x, &b->x); return c ? c : c_default_compare(&a->y, &b->y); } -#define F_tag pnt // F=forward declared + +#define i_fwd // forward declared +#define i_tag pnt #define i_key Point #define i_val int #define i_cmp point_compare diff --git a/examples/new_pque.c b/examples/new_pque.c index 7047a622..08962e1f 100644 --- a/examples/new_pque.c +++ b/examples/new_pque.c @@ -19,7 +19,9 @@ int Point_cmp(const Point* a, const Point* b) { int c = c_default_compare(&a->x, &b->x); return c ? c : c_default_compare(&a->y, &b->y); } -#define F_tag pnt // F: was forward declared. + +#define i_fwd // forward declared. +#define i_tag pnt #define i_val Point #define i_cmp Point_cmp #include diff --git a/examples/new_sptr.c b/examples/new_sptr.c index 678ac85e..e4ed5e89 100644 --- a/examples/new_sptr.c +++ b/examples/new_sptr.c @@ -1,8 +1,5 @@ #include -#include -forward_csptr(csptr_person, struct Person); - struct Person { cstr name, last; } typedef Person; Person Person_init(const char* name, const char* last) { @@ -13,12 +10,14 @@ void Person_del(Person* p) { c_del(cstr, &p->name, &p->last); } -#define F_tag person +#define i_tag person #define i_val Person -#define i_valdel Person_del +#define i_del Person_del #define i_cmp c_no_compare #include +// ... + #define i_val int #include diff --git a/examples/new_vec.c b/examples/new_vec.c index fb4181bd..34029168 100644 --- a/examples/new_vec.c +++ b/examples/new_vec.c @@ -9,8 +9,8 @@ struct MyStruct { cvec_pnt pntvec; } typedef MyStruct; - -#define F_tag i32 +#define i_fwd pnt +#define i_tag i32 #define i_val int #include @@ -19,7 +19,9 @@ int point_compare(const Point* a, const Point* b) { int c = c_default_compare(&a->x, &b->x); return c ? c : c_default_compare(&a->y, &b->y); } -#define F_tag pnt + +#define i_fwd pnt +#define i_tag pnt #define i_val Point #define i_cmp point_compare #include diff --git a/examples/sptr_ex.c b/examples/sptr_ex.c index cd84c668..d7b3999b 100644 --- a/examples/sptr_ex.c +++ b/examples/sptr_ex.c @@ -27,8 +27,9 @@ void Song_del(Song* s) { c_del(cstr, &s->artist, &s->title); } +#define i_fwd +#define i_tag song #define i_val Song -#define F_tag song #define i_cmp c_no_compare #define i_del Song_del #include diff --git a/include/stc/cvec.h b/include/stc/cvec.h index 04618fb2..11de465c 100644 --- a/include/stc/cvec.h +++ b/include/stc/cvec.h @@ -38,7 +38,8 @@ struct MyStruct { #define i_val_str // special for cstr #include -#define F_tag i32 // forward declared above; shorthand for i_fwd +#define i_fwd // forward declared +#define i_tag i32 #define i_val int #include diff --git a/include/stc/template.h b/include/stc/template.h index 0faf6950..cecf9790 100644 --- a/include/stc/template.h +++ b/include/stc/template.h @@ -47,10 +47,6 @@ #error if i_keyraw or i_keyto defined, i_keyfrom a must be defined #endif -#ifdef F_tag - #define i_tag F_tag - #define i_fwd -#endif #ifdef i_cnt #define i_tag i_cnt #undef i_prefix @@ -166,7 +162,6 @@ #undef i_prefix #undef i_tag -#undef F_tag #undef i_imp #undef i_fwd #undef i_cmp -- cgit v1.2.3