Преглед на файлове

Merge branch 'vs2015' of https://github.com/ThePhD/luwra into vs2015-nowarn

Ole преди 9 години
родител
ревизия
3f899efc0f
променени са 3 файла, в които са добавени 8 реда и са изтрити 12 реда
  1. 2 2
      lib/luwra/functions.hpp
  2. 3 7
      lib/luwra/generic.hpp
  3. 3 3
      lib/luwra/usertypes.hpp

+ 2 - 2
lib/luwra/functions.hpp

@@ -50,7 +50,7 @@ struct NativeFunction: Reference {
 		impl->push();
 		size_t numArgs = push(impl->state, std::forward<A>(args)...);
 
-		lua_call(impl->state, numArgs, 1);
+		lua_call(impl->state, static_cast<int>(numArgs), 1);
 		R returnValue = Value<R>::read(impl->state, -1);
 
 		lua_pop(impl->state, 1);
@@ -73,7 +73,7 @@ struct NativeFunction<void>: Reference {
 		impl->push();
 		size_t numArgs = push(impl->state, std::forward<A>(args)...);
 
-		lua_call(impl->state, numArgs, 0);
+		lua_call(impl->state, static_cast<int>(numArgs), 0);
 	}
 };
 

+ 3 - 7
lib/luwra/generic.hpp

@@ -60,12 +60,8 @@ LUWRA_NS_END
 #define LUWRA_WRAP(entity) \
 	(&luwra::internal::GenericWrapper<decltype(&entity)>::template invoke<&entity>)
 
-#ifdef _MSC_VER // Because VS C++
-	#define LUWRA_MEMBER(type, name) \
-		{#name, LUWRA_WRAP(##type::##name)}
-#else
-	#define LUWRA_MEMBER(type, name) \
-		{__STRING(name), LUWRA_WRAP(type::name)}
-#endif
+// This verions is standard and works with every compiler
+#define LUWRA_MEMBER(type, name) \
+	{#name, LUWRA_WRAP(type::##name)}
 
 #endif

+ 3 - 3
lib/luwra/usertypes.hpp

@@ -327,8 +327,8 @@ LUWRA_NS_END
 	} \
 	LUWRA_NS_END
 
-#define LUWRA_FIELD(type, name) {__STRING(name), LUWRA_WRAP_FIELD(type::name)}
-#define LUWRA_METHOD(type, name) {__STRING(name), LUWRA_WRAP_METHOD(type::name)}
-#define LUWRA_FUNCTION(type, name) {__STRING(name), LUWRA_WRAP_FUNCTION(type::name)}
+#define LUWRA_FIELD(type, name) {#name), LUWRA_WRAP_FIELD(type::##name)}
+#define LUWRA_METHOD(type, name) {#name), LUWRA_WRAP_METHOD(type::##name)}
+#define LUWRA_FUNCTION(type, name) {#name), LUWRA_WRAP_FUNCTION(type::##name)}
 
 #endif