summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorClaudius Holeksa <mail@keldu.de>2023-06-27 12:41:56 +0200
committerClaudius Holeksa <mail@keldu.de>2023-06-27 12:41:56 +0200
commit5688c721c610e2a8931d6ec6f84dee2d4d65c763 (patch)
tree3d38ec081061f2d6226a12af93ee092f27882d8c /src/core
parent7668b8aceb42b5a46e1f9ca36d16dbfabe291748 (diff)
c++,codec,core: Added Union to KelSimple and fixed the native data type.
Made some errors more clear as well
Diffstat (limited to 'src/core')
-rw-r--r--src/core/templates.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/templates.h b/src/core/templates.h
index fcac61b..39befc1 100644
--- a/src/core/templates.h
+++ b/src/core/templates.h
@@ -16,7 +16,9 @@ struct parameter_pack_index<T, TL0, TL...> {
1u + parameter_pack_index<T, TL...>::value;
};
-template <size_t N, class... T> struct parameter_pack_type;
+template <size_t N, class... T> struct parameter_pack_type {
+ static_assert(always_false<T...>, "Should've been caught by the specializations");
+};
template <class TN, class... T> struct parameter_pack_type<0, TN, T...> {
using type = TN;
@@ -25,6 +27,7 @@ template <class TN, class... T> struct parameter_pack_type<0, TN, T...> {
template <size_t N, class TN, class... T>
struct parameter_pack_type<N, TN, T...> {
static_assert(sizeof...(T) > 0, "Exhausted parameters");
+ static_assert(N > 0, "Invalid number. Should've been caught");
using type = typename parameter_pack_type<N - 1, T...>::type;
};
/*