Переглянути джерело

delegate: refine function_pointer implementation - see #1167 (same issue)

Michele Caini 1 рік тому
батько
коміт
4a4e2a38d1
2 змінених файлів з 2 додано та 2 видалено
  1. 1 1
      TODO
  2. 1 1
      src/entt/signal/delegate.hpp

+ 1 - 1
TODO

@@ -45,4 +45,4 @@ TODO:
 * suppress -Wself-move on CI with g++13
 * view and view iterator specializations for multi, single and filtered elements
 * organizer support to groups
-* see maybe bug here: https://discord.com/channels/707607951396962417/707624203456872480/1275012149865087006
+* see maybe bug here: https://discord.com/channels/707607951396962417/707624203456872480/1275012149865087006

+ 1 - 1
src/entt/signal/delegate.hpp

@@ -27,7 +27,7 @@ constexpr auto function_pointer(Ret (Class::*)(Args...), Other &&...) -> Ret (*)
 template<typename Class, typename Ret, typename... Args, typename... Other>
 constexpr auto function_pointer(Ret (Class::*)(Args...) const, Other &&...) -> Ret (*)(Args...);
 
-template<typename Class, typename Type, typename... Other>
+template<typename Class, typename Type, typename... Other, typename = std::enable_if_t<std::is_member_object_pointer_v<Type Class::*>>>
 constexpr auto function_pointer(Type Class::*, Other &&...) -> Type (*)();
 
 template<typename... Type>