LuatinkerELua-C++ 绑定库
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中注册一个新类继承已经注册的类
评论