diff --git a/include/Nazara/Core/Thread.hpp b/include/Nazara/Core/Thread.hpp index 4b4852f6e..e5212b488 100644 --- a/include/Nazara/Core/Thread.hpp +++ b/include/Nazara/Core/Thread.hpp @@ -40,6 +40,7 @@ class NAZARA_API NzThread : NzNonCopyable }; NzThread() = default; + template NzThread(F function); template NzThread(F function, Args... args); template NzThread(void (C::*function)(), C* object); NzThread(NzThread&& other); diff --git a/include/Nazara/Core/Thread.inl b/include/Nazara/Core/Thread.inl index 4bcfe3c4c..022c43c36 100644 --- a/include/Nazara/Core/Thread.inl +++ b/include/Nazara/Core/Thread.inl @@ -4,13 +4,16 @@ #include +template +NzThread::NzThread(F function) +{ + CreateImpl(new NzFunctorWithoutArgs(function)); +} + template NzThread::NzThread(F function, Args... args) { - if (sizeof...(Args) == 0) - CreateImpl(new NzFunctorWithoutArgs(function)); - else - CreateImpl(new NzFunctorWithArgs(function, args...)); + CreateImpl(new NzFunctorWithArgs(function, args...)); } template