summaryrefslogtreecommitdiffhomepage
path: root/include/stc/priv/template.h
diff options
context:
space:
mode:
authortylov <[email protected]>2023-07-11 22:16:09 +0200
committertylov <[email protected]>2023-07-11 22:16:09 +0200
commit0bcb0fcd981cb15329dfd4fb675097564164da18 (patch)
tree2bb26e1c0940bdbab326b780bce0a89b47e79d16 /include/stc/priv/template.h
parentafc968975a057f5b2653e3cfa51ef2eff83a8d5b (diff)
downloadSTC-modified-0bcb0fcd981cb15329dfd4fb675097564164da18.tar.gz
STC-modified-0bcb0fcd981cb15329dfd4fb675097564164da18.zip
Fixed an issue in template.h
Reverted to cspan_md() and cspan_md_left() for column-major. Changed cspan_submdX(): add OutputSpanType as first parameter - aligns with cspan_slice() and adds type safety.
Diffstat (limited to 'include/stc/priv/template.h')
-rw-r--r--include/stc/priv/template.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/stc/priv/template.h b/include/stc/priv/template.h
index 7138a87c..5551eeae 100644
--- a/include/stc/priv/template.h
+++ b/include/stc/priv/template.h
@@ -164,6 +164,8 @@
#error "No i_key or i_val defined"
#elif defined i_keyraw ^ defined i_keyto
#error "Both i_keyraw/valraw and i_keyto/valto must be defined, if any"
+#elif defined i_keyfrom && !defined i_keyraw && !defined i_keyclone
+ #define i_keyclone i_keyfrom
#elif defined i_keyfrom && !defined i_keyraw
#error "i_keyfrom/valfrom defined without i_keyraw/valraw"
#elif defined i_from || defined i_drop
@@ -261,7 +263,9 @@
#error "i_val* must be defined for maps"
#endif
-#if !(defined i_valclone || defined i_no_clone) && (defined i_valdrop || defined i_valraw)
+#if !defined i_valclone && defined i_valfrom && !defined i_valraw
+ #define i_valclone i_valfrom
+#elif !(defined i_valclone || defined i_no_clone) && (defined i_valdrop || defined i_valraw)
#error i_valclone should be defined when i_valdrop or i_valraw is defined
#endif
#ifndef i_valraw