@@ -35,12 +35,18 @@ inline std::string LuaUserdataMemberTypeKey(std::string_view key)
3535
3636namespace lua_metadoc_internal {
3737template <typename U>
38- inline void SetUsertypeSignatureAndDocstring (sol::usertype<U> &table, std::string_view key, const char *signature, const char *doc, LuaUserdataMemberType memberType)
38+ void SetUsertypeSignatureAndDocstring (sol::usertype<U> &table, std::string_view key, const char *signature, const char *doc, LuaUserdataMemberType memberType)
3939{
4040 table.set (LuaSignatureKey (key), sol::var (signature));
4141 table.set (LuaDocstringKey (key), sol::var (doc));
4242 table.set (LuaUserdataMemberTypeKey (key), sol::var (static_cast <uint8_t >(memberType)));
4343}
44+
45+ inline void SetSignatureAndDocstring (sol::table &table, std::string_view key, const char *signature, const char *doc)
46+ {
47+ table.set (LuaSignatureKey (key), signature);
48+ table.set (LuaDocstringKey (key), doc);
49+ }
4450} // namespace lua_metadoc_internal
4551
4652template <typename U, typename T>
@@ -75,20 +81,18 @@ template <typename T>
7581void LuaSetDoc (sol::table &table, std::string_view key, const char *signature, const char *doc, T &&value)
7682{
7783 table.set (key, std::forward<T>(value));
78- table.set (LuaSignatureKey (key), signature);
79- table.set (LuaDocstringKey (key), doc);
84+ lua_metadoc_internal::SetSignatureAndDocstring (table, key, signature, doc);
8085}
8186
8287template <typename T>
8388void LuaSetDocFn (sol::table &table, std::string_view key, const char *signature, const char *doc, T &&value)
8489{
8590 table.set_function (key, std::forward<T>(value));
86- table.set (LuaSignatureKey (key), signature);
87- table.set (LuaDocstringKey (key), doc);
91+ lua_metadoc_internal::SetSignatureAndDocstring (table, key, signature, doc);
8892}
8993
9094template <typename T>
91- void LuaSetDocFn (sol::table &table, std::string_view key, std::string_view signature, T &&value)
95+ void LuaSetDocFn (sol::table &table, std::string_view key, const char * signature, T &&value)
9296{
9397 table.set_function (key, std::forward<T>(value));
9498 table.set (LuaSignatureKey (key), signature);
0 commit comments