aboutsummaryrefslogtreecommitdiff
path: root/include/salticidae/type.h
diff options
context:
space:
mode:
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