https://github.com/4z0t/luatemplatelibrary
Static C++ 17 binding for Lua 5.4
https://github.com/4z0t/luatemplatelibrary
cmake cpp cpp17 library lua static stl template templates
Last synced: about 2 months ago
JSON representation
Static C++ 17 binding for Lua 5.4
- Host: GitHub
- URL: https://github.com/4z0t/luatemplatelibrary
- Owner: 4z0t
- License: mit
- Created: 2023-06-30T07:54:33.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-04-12T18:56:01.000Z (about 2 years ago)
- Last Synced: 2024-04-13T02:17:17.364Z (about 2 years ago)
- Topics: cmake, cpp, cpp17, library, lua, static, stl, template, templates
- Language: C++
- Homepage:
- Size: 2.16 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# LuaTemplateLibrary
## Overview
Lua Template Library (LTL for short) is a lightweight C++ 17 library for binding Lua 5.4.
This library pursuits performance with safety and flexibility of C++ templates. It is completely static which means functions and methods used in binding are getting inlined and optimized by compiler.
LTL is made of following components:
* **UserData and Classes** - Used for defining C++ defined structure/class in Lua. Supports Methods and Properties.
* **Function Wrapper** - Used to statically define `lua_CFunction` which involves static type matching.
* **RefObject** - Represents object defined in Lua.
* **State** and **CState** - provide C++ interface for `lua_State`; State class has template parameter for custom memory allocator.
* **StackObjectView** and **StackObject** - classes for interacting with values on stack.
## Build and Use
TODO
## Documentation
TODO