Sdk/Binding: Fix binding initialization

Former-commit-id: e9dde83bcd950bf3a8f3665f88d253ef6e71ffc2
This commit is contained in:
Lynix
2016-04-23 22:38:47 +02:00
parent 0df824517a
commit 346e9d7081
4 changed files with 75 additions and 71 deletions

View File

@@ -145,10 +145,15 @@ namespace Nz
}
template<typename T>
std::enable_if_t<std::is_arithmetic<T>::value, int> LuaImplReplyVal(const LuaInstance& instance, T val, TypeTag<T&>)
std::enable_if_t<std::is_arithmetic<T>::value || std::is_enum<T>::value, int> LuaImplReplyVal(const LuaInstance& instance, T val, TypeTag<T&>)
{
using NoRefT = typename std::remove_reference<T>::type;
return LuaImplReplyVal(instance, val, TypeTag<NoRefT>());
return LuaImplReplyVal(instance, val, TypeTag<T>());
}
template<typename T>
std::enable_if_t<std::is_arithmetic<T>::value || std::is_enum<T>::value, int> LuaImplReplyVal(const LuaInstance& instance, T val, TypeTag<const T&>)
{
return LuaImplReplyVal(instance, val, TypeTag<T>());
}
inline int LuaImplReplyVal(const LuaInstance& instance, std::string val, TypeTag<std::string>)