summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2021-09-22 08:08:40 +0200
committerTyge Løvset <[email protected]>2021-09-22 08:08:40 +0200
commit8bd303dc6558d4a5182321e639ae66af9fd742ab (patch)
tree43e15daf63c4b0f2ddd4c3b967013040c5526e96
parentfbfb57d46e4d042c2c5ae1c5a56dad00660d3e3b (diff)
downloadSTC-modified-8bd303dc6558d4a5182321e639ae66af9fd742ab.tar.gz
STC-modified-8bd303dc6558d4a5182321e639ae66af9fd742ab.zip
Restructuring in template.h
-rw-r--r--include/stc/template.h38
1 files changed, 19 insertions, 19 deletions
diff --git a/include/stc/template.h b/include/stc/template.h
index b255d647..efb6f2f8 100644
--- a/include/stc/template.h
+++ b/include/stc/template.h
@@ -42,6 +42,13 @@
#define cx_size_t cx_memb(_size_t)
#endif
+#if (defined i_valto ^ defined i_valraw) || (defined i_valraw && !defined i_valfrom)
+ #error if i_valraw defined, both i_valfrom and i_valto must be defined
+#endif
+#if (defined i_keyto ^ defined i_keyraw) || (defined i_keyraw && !defined i_keyfrom)
+ #error if i_keyraw defined, both i_keyfrom and i_keyto must be defined
+#endif
+
#ifdef F_tag
#define i_tag F_tag
#define i_fwd
@@ -97,23 +104,13 @@
#define i_valraw const char*
#endif
-#if defined i_key && !defined i_val
- #define i_val i_key
-#endif
-#if !defined i_tag && defined i_key
- #define i_tag i_key
-#elif !defined i_tag
- #define i_tag i_val
-#endif
-
-#if (defined i_valto ^ defined i_valraw) || (defined i_valraw && !defined i_valfrom)
- #error if i_valraw defined, both i_valfrom and i_valto must be defined
-#endif
-#if (defined i_keyto ^ defined i_keyraw) || (defined i_keyraw && !defined i_keyfrom)
- #error if i_keyraw defined, both i_keyfrom and i_keyto must be defined
-#endif
-
#ifdef i_key
+ #ifndef i_val
+ #define i_val i_key
+ #endif
+ #ifndef i_tag
+ #define i_tag i_key
+ #endif
#if !defined i_keyfrom && defined i_keydel
#define i_keyfrom c_no_clone
#elif !defined i_keyfrom
@@ -131,8 +128,14 @@
#ifndef i_hash
#define i_hash c_default_hash
#endif
+ #ifndef i_keydel
+ #define i_keydel c_default_del
+ #endif
#endif
+#ifndef i_tag
+ #define i_tag i_val
+#endif
#if !defined i_valfrom && defined i_valdel
#define i_valfrom c_no_clone
#elif !defined i_valfrom
@@ -142,9 +145,6 @@
#define i_valraw i_val
#define i_valto c_default_toraw
#endif
-#ifndef i_keydel
- #define i_keydel c_default_del
-#endif
#ifndef i_valdel
#define i_valdel c_default_del
#endif