diff options
author | Determinant <ted.sybil@gmail.com> | 2018-07-13 14:35:03 -0400 |
---|---|---|
committer | Determinant <ted.sybil@gmail.com> | 2018-07-13 14:35:03 -0400 |
commit | d8e500b2d785b6c8e12ceb25efe68c32aad46a8b (patch) | |
tree | b91a58b9e6e112f32c23d9aee866631131bf4fd6 /include/salticidae/type.h | |
parent | b98265d732bad274f66de66cb93d891e9c41a112 (diff) |
finish Bits impl
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 |