dub

“Dub” is a Ruby library (ruby gem) used to create bindings to Lua (or other languages) from Doxygen generated documentation.

The idea is to use the is a very good C/C++ Doxygen parser and read the xml generated documentation to automatically build the bindings.

status

Features:

  • class methods
  • overloaded class constructors
  • overloaded class methods
  • class instantiation from templates through typedefs
  • class alias through typedefs
  • automatic resolution of template parameters
  • automatic handling of default values
  • class enums
  • namespace enums
  • group constant defines
  • objects deletable from C++ or Lua (owned by both worlds)
  • custom (hand made) bindings
  • mixin (pseudo-inheritance: add the bindings from any header definition to any class)

As a use case, you can look at the ruby script used to generate Lua bindings for Lubyk.

sources

If you just need to create bindings for a new class, just install with # sudo gem install dub and please look at the links above on how to use the library.

The sources are on github github.com/lubyk/dub

latest blog entries