Quellcode durchsuchen

Use 'std::string' for member names

Ole vor 10 Jahren
Ursprung
Commit
d1bc0bb283
2 geänderte Dateien mit 8 neuen und 6 gelöschten Zeilen
  1. 2 2
      lib/luwra/state.hpp
  2. 6 4
      lib/luwra/usertypes.hpp

+ 2 - 2
lib/luwra/state.hpp

@@ -124,8 +124,8 @@ struct StateWrapper {
 	template <typename T> inline
 	void registerUserType(
 		const std::string& ctor_name,
-		const std::map<const char*, CFunction>& methods = std::map<const char*, CFunction>(),
-		const std::map<const char*, CFunction>& meta_methods = std::map<const char*, CFunction>()
+		const MemberMap& methods = MemberMap(),
+		const MemberMap& meta_methods = MemberMap()
 	) {
 		registerUserType<T>(state, ctor_name, methods, meta_methods);
 	}

+ 6 - 4
lib/luwra/usertypes.hpp

@@ -171,6 +171,8 @@ struct Value<U*> {
 	}
 };
 
+using MemberMap = std::map<std::string, CFunction>;
+
 /**
  * Register the metatable for user type `T`. This function allows you to register methods
  * which are shared across all instances of this type.
@@ -187,8 +189,8 @@ struct Value<U*> {
 template <typename U> static inline
 void registerUserType(
 	State* state,
-	const std::map<const char*, CFunction>& methods = std::map<const char*, CFunction>(),
-	const std::map<const char*, CFunction>& meta_methods = std::map<const char*, CFunction>()
+	const MemberMap& methods = MemberMap(),
+	const MemberMap& meta_methods = MemberMap()
 ) {
 	using T = internal::StripUserType<U>;
 
@@ -254,8 +256,8 @@ template <typename T> static inline
 void registerUserType(
 	State* state,
 	const std::string& ctor_name,
-	const std::map<const char*, CFunction>& methods = std::map<const char*, CFunction>(),
-	const std::map<const char*, CFunction>& meta_methods = std::map<const char*, CFunction>()
+	const MemberMap& methods = MemberMap(),
+	const MemberMap& meta_methods = MemberMap()
 ) {
 	using U = typename internal::UserTypeSignature<T>::UserType;
 	registerUserType<U>(state, methods, meta_methods);