LuatinkerE - Lua-C++ 绑定库


GPL
跨平台
C/C++

软件简介

LuatinkerE

Lua-C绑定库”lua_tinker”的C14和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编译

new feature 新特性一览:

  • 导入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中注册一个新类继承已经注册的类