diff options
author | Claudius Holeksa <mail@keldu.de> | 2023-06-27 12:41:56 +0200 |
---|---|---|
committer | Claudius Holeksa <mail@keldu.de> | 2023-06-27 12:41:56 +0200 |
commit | 5688c721c610e2a8931d6ec6f84dee2d4d65c763 (patch) | |
tree | 3d38ec081061f2d6226a12af93ee092f27882d8c /src/core | |
parent | 7668b8aceb42b5a46e1f9ca36d16dbfabe291748 (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.h | 5 |
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; }; /* |