diff --git a/includes/FastEngine/C_callback.inl b/includes/FastEngine/C_callback.inl index 061b6a62..388964dd 100644 --- a/includes/FastEngine/C_callback.inl +++ b/includes/FastEngine/C_callback.inl @@ -59,31 +59,13 @@ bool CallbackObjectFunctor::check(void* ptr) //CallbackLambda -namespace -{ - -template -struct lambda_traits : public lambda_traits -{}; - -template -struct lambda_traits -{ - enum : std::size_t - { - ArgCount = sizeof...(Args) - }; -}; - -} // namespace - template template CallbackLambda::CallbackLambda(TLambda const& lambda) : g_lambda(new TLambda(lambda)) { this->g_executeLambda = [](void* lambdaPtr, [[maybe_unused]] Types... arguments) { - if constexpr (lambda_traits::ArgCount != 0) + if constexpr (std::is_invocable_v) { return (*reinterpret_cast(lambdaPtr))(arguments...); }