diff options
author | Claudius "keldu" Holeksa <mail@keldu.de> | 2023-07-31 18:57:09 +0200 |
---|---|---|
committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2023-07-31 18:57:09 +0200 |
commit | e664537536de989b6d013a8cb6bc0eb2b1fbe0fb (patch) | |
tree | ff32a6c0854d36c4aa725853ebfab0e76d977f3d /c++/core/templates.h | |
parent | c241f520fefbf02542694466f34ce816b65fc8b6 (diff) |
c++,core: Added multiplication helper to template handling
Diffstat (limited to 'c++/core/templates.h')
-rw-r--r-- | c++/core/templates.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/c++/core/templates.h b/c++/core/templates.h index 39befc1..a3a5f7a 100644 --- a/c++/core/templates.h +++ b/c++/core/templates.h @@ -73,4 +73,17 @@ struct parameter_key_pack_type { static_assert(i < sizeof...(Keys), "Provided index is too large in list"); }; +template<typename T, T... V> +struct ct_multiply; + +template<typename T> +struct ct_multiply<T> { + static constexpr T value = 1; +}; + +template<typename T, T V0, T... VN> +struct ct_multiply<T, V0, VN...> { + static constexpr T value = V0 * templ_multiply<T,VN...>::value; +}; + } |