summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2021-09-23 08:13:46 +0200
committerTyge Løvset <[email protected]>2021-09-23 08:13:46 +0200
commit7b5ad58d20dcf3561662a294183fceab0d0ee73c (patch)
tree6a3dec1ac0f65a886c1287c1468bb1bf705d92f0 /include
parent6b0cee466ec405a8b8051da56fc63ed3e2930846 (diff)
downloadSTC-modified-7b5ad58d20dcf3561662a294183fceab0d0ee73c.tar.gz
STC-modified-7b5ad58d20dcf3561662a294183fceab0d0ee73c.zip
Some more documentation in README.md.
Added support for i_del template arg/define for destroy function. For maps, i_keydel / i_valdel is still required and error is given if i_del is defined.
Diffstat (limited to 'include')
-rw-r--r--include/stc/template.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/stc/template.h b/include/stc/template.h
index efb6f2f8..c207ae56 100644
--- a/include/stc/template.h
+++ b/include/stc/template.h
@@ -104,6 +104,14 @@
#define i_valraw const char*
#endif
+#if defined i_del && defined i_isset
+ #define i_keydel i_del
+#elif defined i_del && !defined i_key
+ #define i_valdel i_del
+#elif defined i_del
+ #error i_del not supported for maps, define i_keydel / i_valdel instead.
+#endif
+
#ifdef i_key
#ifndef i_val
#define i_val i_key
@@ -131,6 +139,8 @@
#ifndef i_keydel
#define i_keydel c_default_del
#endif
+#elif defined i_keydel || defined i_keyfrom || defined i_keyraw || defined i_hash || defined i_equ
+ #warning i_key-related definitions without i_key are ignored.
#endif
#ifndef i_tag
@@ -160,6 +170,7 @@
#undef i_imp
#undef i_fwd
#undef i_cmp
+#undef i_del
#undef i_equ
#undef i_hash
#undef i_val