diff options
author | Robin Gareus <robin@gareus.org> | 2016-05-21 15:43:19 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-05-21 15:55:14 +0200 |
commit | 50d6f146f4cd24b7ea4532ec70fae348056acc32 (patch) | |
tree | 4275f27401266678465b66893d85be03d279a217 /libs/lua/LuaBridge/detail/Namespace.h | |
parent | 53c188beb3de47f903482ac3c7812d756e94508f (diff) |
allow lua to access array at an offset
Diffstat (limited to 'libs/lua/LuaBridge/detail/Namespace.h')
-rw-r--r-- | libs/lua/LuaBridge/detail/Namespace.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libs/lua/LuaBridge/detail/Namespace.h b/libs/lua/LuaBridge/detail/Namespace.h index c859d8d151..590f25be4a 100644 --- a/libs/lua/LuaBridge/detail/Namespace.h +++ b/libs/lua/LuaBridge/detail/Namespace.h @@ -1070,7 +1070,9 @@ private: PRINTDOC ("Ext C Function", _name << "set_table", std::string(""), "int (*)(lua_State*)") PRINTDOC("Member Function", _name << "sameinstance", - std::string("bool"), std::string("void (*)(" + type_name <T>() + "*)")) + std::string("bool"), std::string("bool (*)(" + type_name <T>() + "*)")) + PRINTDOC("Member Function", _name << "offset", + std::string(type_name <T>() + "*"), std::string(type_name <T>() + "* (*)(unsigned int)")) m_stackSize = parent->m_stackSize + 3; parent->m_stackSize = 0; @@ -1132,6 +1134,9 @@ private: lua_pushcclosure (L, &CFunc::ClassEqualCheck <T>::f, 0); rawsetfield (L, -3, "sameinstance"); + lua_pushcclosure (L, &CFunc::offsetArray <T>, 0); + rawsetfield (L, -3, "offset"); // class table + } else { |