|
|
@ -103,13 +103,9 @@ struct CallbackIdentity
|
|
|
|
struct ScriptFunctionPointer : public ScriptIdentity
|
|
|
|
struct ScriptFunctionPointer : public ScriptIdentity
|
|
|
|
{
|
|
|
|
{
|
|
|
|
void *addr;
|
|
|
|
void *addr;
|
|
|
|
#if (!defined(__clang__) && defined(__GNUC__))
|
|
|
|
|
|
|
|
template<typename R, typename... Types>
|
|
|
|
|
|
|
|
constexpr ScriptFunctionPointer(Function<R, Types...> addr) : ScriptIdentity(addr), addr(reinterpret_cast<void*>(addr)) {}
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
template<typename R, typename... Types>
|
|
|
|
template<typename R, typename... Types>
|
|
|
|
constexpr ScriptFunctionPointer(Function<R, Types...> addr) : ScriptIdentity(addr), addr(addr) {}
|
|
|
|
constexpr ScriptFunctionPointer(Function<R, Types...> addr) : ScriptIdentity(addr), addr((void*)(addr)) {}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
struct ScriptFunctionData
|
|
|
|
struct ScriptFunctionData
|
|
|
|