aboutsummaryrefslogtreecommitdiff
path: root/include/salticidae/type.h
diff options
context:
space:
mode:
authorDeterminant <ted.sybil@gmail.com>2018-07-13 14:35:03 -0400
committerDeterminant <ted.sybil@gmail.com>2018-07-13 14:35:03 -0400
commitd8e500b2d785b6c8e12ceb25efe68c32aad46a8b (patch)
treeb91a58b9e6e112f32c23d9aee866631131bf4fd6 /include/salticidae/type.h
parentb98265d732bad274f66de66cb93d891e9c41a112 (diff)
finish Bits impl
Diffstat (limited to 'include/salticidae/type.h')
-rw-r--r--include/salticidae/type.h17
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