OOLua
OOLua is a cross-platform, test driven, dependency-free and Open Source library which uses C++03 template metaprogramming along with preprocessor magic to provide a fast binding between C++ and Lua.
Although the name of the library is OOLua you do not need to expose C++ classes or use the library in an OO manner; the only hierarchy of classes that the library defines for itself are exception types when they are enabled.
The library provides:
- The ability to easily bind stand-alone functions.
- Interaction with the stack using a simple typed interface.
- Simplified method to call Lua functions from C++.
- Ease of configurability.
- Error checking either with or without exceptions.
- Simple typed Lua registry references.
- Interaction with Lua tables using a simple type.
- Passing C++ classes and user types as light userdata.
- Exposing C++ classes and hierarchies as full userdata without using C++'s RTTI and in a none-intrusive manner.
- Abilty to control which language owns which full userdata instances.
- Binding member/virtual functions on full userdata.
- Binding static functions for full userdata types.
- Binding class enumerations.
- Binding public members.
- Constructors for full userdata classes.
- Compatibility with Rio Lua 5.1, 5.2 and 5.3 also LuaJIT 1.1 and 2.0
- A guarantee that it does not call new willy-nilly.
- Support for shared_ptr.
- Support for C++11 scoped enums.
Basically you can use as little or as much of the library as you like.
Yes the library does "cover the problem with clever template metaprogramming and macros".
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。