LuatinkerELua-C++ 绑定库

联合创作 · 2023-09-30

Lua-C++ 绑定库,"lua_tinker"的 C++14 和 Lua 5.3 扩展版本。

使用大量 C++14 特性 Variadic Template 和 index_sequence, SFINAE enable_if 和 type_traits, tuple, function, forward_ref, decltype(auto)。

通过 vc2015, gcc5.0, clang3.6 编译。

新特性一览:

  • 导入lua的函数,现在支持任意多的参数

  • 支持的read/push的元素类型增加std::string,std::function,lua_function_ref,stl容器,std::shared_ptr对象

  • 支持最多16个参数的非精确匹配的函数重载(c++类型downcast到lua类型后生成签名), 支持普通函数、类成员函数、构造函数

  • 支持函数默认参数及带默认参数的重载函数的匹配

  • 移除int64相关函数,使用lua5.3的luaInterager来替代

  • 支持调用lua函数时返回多个返回值用tuple包裹

  • 支持通过宏定义打开类型一致性检查和常量类成员函数检查

  • 支持通过宏定义允许已注册的shared_ptr对象调用类成员函数

  • 支持类静态函数注册

  • 支持类静态变量注册

  • 支持property注册

  • 支持继承多个父类,查找时根据顺序依次查找,深度优先

  • 支持注册namespace及内的函数/变量/枚举/类

  • 支持注册嵌套的类

  • 支持在lua中扩展已经注册的类

  • 支持在lua中注册一个新类继承已经注册的类

浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报