A Lua bindings generator that uses Doxygen to parse C/C++ headers.
Lua C++ C CMake
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
dox
dub
scripts
test
.gitignore
.travis.yml
CMakeLists.txt
History.txt
LICENSE
README.md
dist.info
dub-2.2.5-1.rockspec
dub.lua

README.md

dub Build Status

Doxygen based Lua binding generator.

Documentation.

install

luarocks install dub

Features

Currently, the parser supports:

  • public methods
  • public attributes read/write
  • pseudo-attributes read/write by calling getter/setter methods.
  • custom bindings (for methods and global functions).
  • custom read/write attributes (with void *userdata helper, union handling)
  • public class methods
  • public static attributes read/write
  • pointer to member (gc protected)
  • cast(default)/copy/disable const attribute
  • member pointer assignment (gc protected)
  • natural casting from std::string to string type (can include '\0')
  • class instantiation from templates through typedefs
  • class alias through typedefs
  • bindings for superclass
  • automatic casting to base class
  • default argument values
  • overloaded functions with optimized method selection from arguments
  • operator overloading (even operator[], operator() and operator+= and such)
  • return value optimization (no copy)
  • simple type garbage collection optimization (no __gc method)
  • namespace
  • nested classes
  • class enums
  • global enums
  • build system
  • group multiple bindings in a single library
  • rewrite class or library names
  • native Lua table wrapping setmetatable({super = obj}, Vect)
  • callback from C++ with error handling in Lua (with self.error).
  • error function captures current 'print' function and can be used with self._errfunc.
  • fully tested
  • custom method binding name