Fix PushScreenArgs with integrals

This commit is contained in:
2022-03-22 17:12:22 +01:00
parent 9ffd24371e
commit 1fed239f6b

View File

@@ -2,6 +2,7 @@
// system includes // system includes
#include <utility> #include <utility>
#include <type_traits>
// local includes // local includes
#include "actioninterface.h" #include "actioninterface.h"
@@ -23,7 +24,8 @@ template<typename Tscreen, typename T1>
class PushScreenActionArgs<Tscreen, T1> : public virtual ActionInterface class PushScreenActionArgs<Tscreen, T1> : public virtual ActionInterface
{ {
public: public:
PushScreenActionArgs(T1 &&arg1) : template<typename U = T1> // to get SFINAE
PushScreenActionArgs(typename std::enable_if_t<!std::is_integral_v<U>, U> &&arg1) :
m_arg1{std::move<T1>(arg1)} m_arg1{std::move<T1>(arg1)}
{} {}
PushScreenActionArgs(const T1 &arg1) : PushScreenActionArgs(const T1 &arg1) :