summaryrefslogtreecommitdiff
path: root/asl/meta.hpp
diff options
context:
space:
mode:
authorSteven Le Rouzic <steven.lerouzic@gmail.com>2024-08-23 19:12:42 +0200
committerSteven Le Rouzic <steven.lerouzic@gmail.com>2024-08-23 19:12:42 +0200
commitea795dcccb136a45fa08a8a82953f95343706c6c (patch)
treec780f2cf4a76d3e8e6ad44d004b3d1ab4cd590e0 /asl/meta.hpp
parentadd3e12550d03d4408dc4e3169e55c8415e250a9 (diff)
Add is_array
Diffstat (limited to 'asl/meta.hpp')
-rw-r--r--asl/meta.hpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/asl/meta.hpp b/asl/meta.hpp
index be5fa50..b3e0697 100644
--- a/asl/meta.hpp
+++ b/asl/meta.hpp
@@ -117,4 +117,10 @@ template<typename T> concept is_func = _is_func_helper<tame_t<T>>::value;
template<typename T> concept is_object = !is_void<T> && !is_ref<T> && !is_func<T>;
+template<typename T> struct _is_array_helper : false_type {};
+template<typename T> struct _is_array_helper<T[]> : true_type {};
+template<typename T, int N> struct _is_array_helper<T[N]> : true_type {};
+
+template<typename T> concept is_array = _is_array_helper<T>::value;
+
} // namespace asl