From e034efe8bd911ae86447dbae7e10e57c7247d3c7 Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Wed, 26 Mar 2025 18:54:53 +0100 Subject: Add member pointer stuff to meta lib --- asl/base/meta.hpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'asl/base/meta.hpp') diff --git a/asl/base/meta.hpp b/asl/base/meta.hpp index 93e5603..b17f05c 100644 --- a/asl/base/meta.hpp +++ b/asl/base/meta.hpp @@ -194,6 +194,17 @@ template struct _is_func_helper : true template concept is_func = _is_func_helper>::value; +template struct _is_member_ptr_helper : false_type {}; +template struct _is_member_ptr_helper : true_type +{ + static constexpr bool kIsFunc = is_func; +}; + +template concept is_member_ptr = _is_member_ptr_helper>::value; + +template concept is_member_func_ptr = is_member_ptr && _is_member_ptr_helper>::kIsFunc; +template concept is_member_data_ptr = is_member_ptr && !_is_member_ptr_helper>::kIsFunc; + template concept is_object = !is_void && !is_ref && !is_func; template struct _array_helper : false_type { using type = T; }; -- cgit