diff options
Diffstat (limited to 'include/salticidae/type.h')
-rw-r--r-- | include/salticidae/type.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/salticidae/type.h b/include/salticidae/type.h index d5834a5..13975a5 100644 --- a/include/salticidae/type.h +++ b/include/salticidae/type.h @@ -65,6 +65,23 @@ struct is_ranged<T, void_t<decltype(std::declval<T>().begin()), decltype(std::declval<T>().end())>> : std::true_type {}; +template<size_t N> +struct log2 { + enum { + value = 1 + log2<N / 2>::value + }; +}; + +template<> +struct log2<0> { + enum { value = 0 }; +}; + +template<> +struct log2<1> { + enum { value = 0 }; +}; + } #endif |