From b7856fd9f287203598fd52d6a37a4af25c04d1bf Mon Sep 17 00:00:00 2001 From: lethosor Date: Thu, 28 Jul 2016 22:04:46 -0400 Subject: [PATCH] Use enable_if for Lua::Push specializations --- library/include/LuaTools.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/library/include/LuaTools.h b/library/include/LuaTools.h index 3945ae524..428cbf1f7 100644 --- a/library/include/LuaTools.h +++ b/library/include/LuaTools.h @@ -28,6 +28,7 @@ distribution. #include #include #include +#include #include "DataDefs.h" @@ -285,13 +286,14 @@ namespace DFHack {namespace Lua { NUMBER_PUSH(float) NUMBER_PUSH(double) #undef NUMBER_PUSH #else - template inline void Push(lua_State *state, T value) { - lua_pushinteger(state, lua_Number(value)); - } - inline void Push(lua_State *state, float value) { - lua_pushnumber(state, lua_Number(value)); + template + inline typename std::enable_if::value>::type + Push(lua_State *state, T value) { + lua_pushinteger(state, value); } - inline void Push(lua_State *state, double value) { + template + inline typename std::enable_if::value>::type + Push(lua_State *state, T value) { lua_pushnumber(state, lua_Number(value)); } #endif